Charactermancer

Der Charactermancer ist das Roll20-System, das den Benutzer durch einen Entscheidungsprozess auf der virtuellen Spielfläche führt. Es wurde in denRoll20 Official DND 5eundRoll20 Official PathfinderCharakterbögen implementiert.


Übersetzung

Wie der Rest der Bereiche des Charakterbogens sollten die Standards des Bogens im Charactermancer befolgt werden. Dies beinhaltet Internationalisierung (oder i18n-Übersetzungsschlüssel). Jedes Element kann zur Übersetzung ausgewählt werden, indem ein Element dem HTML-Tag hinzugefügt wird. Erfahren Sie hier mehr über die Funktionsweise der Übersetzung.


Slides

Intro Slide

<charmancer class="sheet-charmancer-intro">

Der Charactermancer funktioniert durch das Laden einer Reihe von Folien in bestimmter Reihenfolge. Die Folien sind HTML-Blöcke, die in die HTML-Datei des Charakterbogens eingebunden sind. Sie sind mit einem<charmancer>Tag gekennzeichnet. Jede Folie muss benannt werden, um sie aufrufen oder referenzieren zu können. Dies geschieht innerhalb des <charmancer> Tags, indem eine Klasse mit „sheet-charmancer-“ gefolgt von dem Namen der Folie hinzugefügt wird. Folien können alle HTML-Elemente und Eingaben des Charakterbogens enthalten, sowie einige bemerkenswerte Ergänzungen und Ausnahmen, die unten beschrieben sind. Slides werden entweder von einem Sheet Worker über die Funktion startCharactermancer(<slide name>) aufgerufen oder von einer anderen Folie über die Schaltfläche "Weiter".


Kompendiums iFrame

<div class="sheet-compendium-page sheet-example" accept="CategoryIndex:Backgrounds"></div>

Innerhalb der Folien verfügbar ist der Kompendiums iFrame, der es ermöglicht, Seiten aus dem Charakterbogen-Kompendium anzuzeigen. Wenn einer Folie ein Tag mit der Klasse "sheet-compendium-page" und ein 'accept' Parameter zugewiesen wird, wird beim Rendern der Folie der eingebettete Kompendiums iFrame ebenfalls angezeigt. Der accept-Parameter muss mit einer Compendium-Seite aus dem vom Charakterbogen verwendeten Buch übereinstimmen, oder die Daten werden nicht angezeigt. Das Compendium iFrame kann mithilfe der Funktion "changeCompendiumPage" dynamisch von Sheet Worker aktualisiert werden.


Slide Navigation

Nächster Button

<button type="submit" value="example">Weiter</button>

Der Next Button wechselt den Charactermancer zur nächsten Folie. Der Buttontyp muss "submit" sein und der Werteparameter muss dem Namen einer anderen Folie entsprechen. Zusätzlich wird überprüft, ob alle sichtbaren und erforderlichen Charactermancer-Eingaben einen Wert haben. Der Vorgang gibt die erforderlichen Eingabefelder ohne Werte hervor und wechselt nicht zur nächsten Folie.


Zurück-Button

<button type="back" value="example">Zurück</button>

Die Zurück-Buttons funktionieren identisch zu den Weiter-Buttons, mit der Ausnahme, dass "back" als Typ erforderlich ist und erforderliche Felder nicht validiert werden.


Abbrechen-Button

<button type="cancel" value="example">Abbrechen-Charactermancer</button>

Die Abbrechen-Buttons schließen den Charactermancer und führen den Benutzer zum Charakterbogen zurück. Der Buttontyp muss "cancel" sein. Er kann seinen Wert über ein Ereignis weitergeben, das ausgelöst wird, wenn der Button geklickt wird. Dieses Ereignis kann vom on "mancer:cancel" Listener gehört werden. 


Fertigstellen-Button

<button type="finish" value="example">Änderungen anwenden</button>

Der Fertigstellen-Button schließt den Charactermancer und kehrt zum Charakterbogen zurück. Der Buttontyp muss "finish" sein. Durch Klicken des Fertigstellen-Buttons wird ein Ereignis erstellt, das mit dem on "mancerfinish:name" Listener gehört werden kann. Dieses Ereignis enthält das Charactermancer-Datenobjekt als Argument.


Finaler Slideq

Der Name "final" ist für einen speziellen Slideq reserviert. Die abschließende Folie dient als Übergang zwischen dem Charactermancer und dem Charakterbogen. Der Charactermancer ist deaktiviert, sobald die abschließende Folie aufgerufen wird, ist jedoch weiterhin sichtbar und zeigt den Inhalt der abschließenden Folie an, bisfinishCharactermancer()aufgerufen wird. Diese Folie ermöglicht es dem Charakterbogen und den Arbeitskräften, alle Ergebnisse des Charactermancer-Datenobjekts anzuwenden, bevor die Kontrolle an den Spieler zurückgegeben wird.


Charactermancer-Eingaben

<input type="text" name="comp_example">

Attribute im Charactermancer verwenden eine andere Namenskonvention als der Charakterbogen. Charactermancer-Eingaben beginnen mit "comp_". Eingaben und Auswahlen, die mit dieser Konvention benannt sind, geben ihre Werte automatisch an das Charactermancer-Datenobjekt weiter. Das Datenobjekt kann auf aktuellen und zukünftigen Folien durch Aufruf der Funktion getCharmancerData()referenziert werden und wird auch für die Verwendung im Charakterbogen beim Ereignis mancerfinish ausgegeben.

Charactermancer-Datenobjekt

{
    "erste-Folie":
    {
        "Daten":
        {},
        "Werte":
        {}
    },
    "zweite-Folie":
    {
		"Daten":
		{
			"Wahl1":
			{
				"Anzahl der Widgets":
				{
					"Widgets": 2
				},
				"Typ der Widgets":
				{ 
					"Typ": "Spongy"
				}
			}
		},
        "Werte":
        {
            "Wahl1": "Widget:Beispiel"
        },
		"wiederholend": ["<repeating_id1>", "<repeating_id2>"]
    }
}

Das Charactermancer-Datenobjekt speichert automatisch Daten von Eingaben und Auswahl auf jeder Folie des Prozesses. Die Werte dieser Eingaben und Auswahlen werden im JSON-Format unter dem Namen der Folie und dem Schlüssel "Werte" gespeichert. Zusätzlich kann "Daten" an den Slide-Namespace des Datenobjekts aus der getCompendiumData-Funktion übergeben werden. Wenn auf der Folie wiederholte Abschnitte verwendet werden, werden die wiederholten IDs unter dem Schlüssel "Wiederholung" dieser Folie gespeichert. Das gesamte Objekt kann jederzeit mithilfe der Funktion getCharmancerData abgerufen werden.


Anforderung

<input type="text" name="comp_example" required> 

Eingaben und Auswahlen, die als "erforderlich" in ihrem Tag markiert sind, erlauben es Benutzern nicht, die aktuelle Folie abzuschließen und zur nächsten zu wechseln, bis diesem Feld ein Wert zugewiesen wurde. Erforderliche Felder, die bei der Verwendung der Schaltfläche "Weiter" leer gelassen wurden, erhalten die Klasse"sheet-hilite"und der Benutzer kommt nicht zur nächsten Folie. Erforderliche Eingaben erzwingen keine Anforderung, wenn sie in einer bedingten Sektion ausgeblendet wurden. Gruppen von Elementen können als erforderlich markiert werden. Wenn "Erforderlich" zum Tag eines übergeordneten Div-Elements hinzugefügt wird, werden alle darin enthaltenen Kind-Eingaben und -Auswahlen ebenfalls als erforderlich markiert.


Kompendium-Populierte Auswahlen

<select name="comp_race" accept="Category:Items"> 

Selects inside slides can be auto-populated with options from the Roll20 Compendium. The select needs the Accept parameter, which includes a Compendium compatible search string. Complex multi-attribute searches can be used to provide specific filtered results. Options populated in this way will have the source expansion included after the result in parentheses. 


Conditional Sections

 <div class="sheet-choice sheet-example"> 

Conditional Sections are HTML tags with the "sheet-choice" tag. These sections are hidden by default whenever the slide is rendered. They can be shown or hidden with the showChoices(<class name>) and hideChoices(<class name>)functions respectively.


Action Button

 <button type="action" name="act_starting_gold"></button> 

Eingeführt in der Charactermancer-Aktualisierung sind Aktionsknöpfe. Diese Knöpfe können mit dem Ereignislistener "geklickt" abgehört werden. Sie sind nicht auf den Charactermancer beschränkt und können auch auf dem Charakterbogen verwendet werden. Die Schaltfläche muss vom Typ "Aktion" sein und der Name der Schaltfläche muss mitact_beginnen, um gehört werden zu können.


Charactermancer-Listener

Diese Listener funktionieren für Charactermancer-Änderungen und haben Zugriff auf Charactermancer-Funktionen.


mancerchange

on("mancerchange:choice_1 mancerchange:choice_3", function(eventinfo) {...}); 

Der mancerchange-Listener wird ausgelöst, wenn Charactermancer-Eingaben ihre Werte ändern. Er gibt ein Argument weiter, das die folgenden Eigenschaften enthält:

  • currentStep:"charmancer-intro" Der aktuelle Schritt, auf dem sich der Benutzer befindet
  • newValue:"Races:Elf" Der Wert, auf den die Charactermancer-Eingabe geändert wurde
  • sourceType:"Spieler" Zeigt an, ob die Änderung durch einen "Worker" oder den "Spieler" ausgelöst wurde.
  • triggerName:"Rasse" Der Name des Charactermancer-Eingabefeldes, das geändert wurde.

Seite:<slide name>

on("page:charmancer-intro", function(eventinfo) {...});

The page listener triggers on slide open when called by either a next button or startCharmancer function. It passes along an argument containing the following properties:

  • sourceType:"player" Whether the change was triggered by a "worker" or the "player"
  • triggerName:"charactermancer-intro" The name of the Charactermancer Slide that was just opened

geklickt:<action button name>

on("geklickt:action_button", function(eventinfo) {...});

Der geklickte Listener wird ausgelöst, wenn auf eine Aktionsschaltfläche geklickt wird. Es übermittelt ein Argument mit den folgenden Eigenschaften:

  • triggerName:"geklickt:action_button" Der Name der angeklickten Aktionsschaltfläche.

mancerroll:<roll button name>

 on("mancerroll:roll_stats", function(eventinfo) {...}); 

Dieser Listener wird ausgelöst, wenn auf eine Würfelschaltfläche im Charactermancer geklickt wird. Es übermittelt ein Argument mit den folgenden Eigenschaften:

  • currentStep:"charmancer-intro" Die aktuelle Folie, auf der sich der Benutzer befindet.
  • roll: Ein JSON-Objekt, das die Ergebnisse des Wurfs enthält.
  • triggerName:"roll_stats" Der Name des Charactermancer-Wurfs, der den Zuhörer ausgelöst hat

Charactermancer-Zuhörer

Diese Zuhörer werden nach dem Verlassen des Charactermancers ausgeführt und haben Zugriff auf den normalen Satz an Kartenarbeitern.


mancer:cancel

 on("mancer:cancel", function(eventinfo) {...}); 

Der mancer:cancel-Zuhörer wird ausgelöst, wenn ein Spieler den Charactermancer über die Schaltfläche "Abbrechen" verlässt. Dies kann verwendet werden, wenn ein Benutzer den Charactermancer erneut startet. Es wird ein Objekt mit einem Wert des Namens des Slides übergeben, auf dem der Benutzer den Charactermancer verlassen hat:

  • value: "slide1"

mancerfinish:<name>

 on("mancerfinish:l1-mancer", function(eventinfo) {...}); 

Der mancerfinish-Zuhörer wird ausgelöst, wenn ein Spieler den Charactermancer über die Schaltfläche "Fertig" verlässt. Es wird ein Objekt mit demselben Wert wie das Charactermancer-Datenobjekt übergeben. Hier werden die Auswahlmöglichkeiten des Charactermancer auf den Bogen selbst angewendet. Die FunktionsetCharmancerText()ist hier verfügbar, um die "endgültige" Folie zu aktualisieren, während die Änderungen angewendet werden.


Funktionen

Normale Arbeitsblattfunktionen sind deaktiviert, während der Charactermancer aktiv ist, mit folgenden Ausnahmen:

setAttrs() is still usable while the Charactermancer is active, though its function is different, it will only be able to set values for the current Charactermancer slide Functions that access sheet attributes without modifying them (like getAttrs() and getSectionIDs()) will work as normal. getCompendiumPage()undgetCompendiumQuery()funktionieren sowohl für Arbeitsblatt als auch Charactermancer.

Eine Anmerkung zu Selektoren: Viele dieser Funktionen verwenden einen CSS-Selektor, um das relevante HTML-Element auf der Folie zu finden. Der erste Teil dieses Selektors muss eine Klasse sein, aber der Rest dieses Selektors kann jede gültige JQuery-Selektorsyntax verwenden.


Diese Funktionen sind nur verfügbar, wenn der Charactermancer aktiv ist:

startCharactermancer(<slide name>)

startCharactermancer("first-slide"); 

The startCharactermancer function launches the Charactermancer. This hides the character sheet and loads the Charactermancer. It will load in the HTML of the named slide passed in as the first argument and trigger the page open listener for that slide.


setCharmancerText(<update object>);

 setCharmancerText({"class_example":"Hello world!"}); 

The setCharmancerText function allows you to update sections of your current slide with new text. Passed as an argument to the function is an object where the keys are selectors for the elements to be updated and the values to be the text to replace the existing content of those sections. This function allows the use of html tags, all of the text is passed through the same sanitize function that is used on the rest of the character sheet (which, for example,  prepends sheet- to class names).


changeCompendiumPage(<IFrame selector>, <Compendium Page Name>)

 changeCompendiumPage("sheet-iframe", "Welcome Page"); 

The changeCompendiumPage function allows you to dynamically change the compendium page loaded into a Compendium iFrame on your current slide. The first argument must match the name of the iFrame's class and the second argument passes the Compendium page to be rendered. It is recommended to use the page's category to ensure a unique match. For example, "Druid" may match a page in both the "Classes" category and the "NPC" category, but "Classes:Druid" will be a unique page.


changeCharmancerPage(<slide name>, <callback>)

 changeCharmancerPage("options_slide", function() {...}); 

This function changes the current slide of the Charactermancer. The first argument is the name of the slide. It accepts a callback, which is called after the slide loads.


setAttrs(<update object>)

 setAttrs({"test_attribute": 2}) 

The setAttrs function works the same for Charactermancer Inputs as it does Character Sheet Attributes with the follow exceptions. While the Charactermancer is active it can only be used to update Charactermancer Inputs and it will clear out radio and checkbox inputs if the value they're set to do not match their given value(s). These attributes must have an input on the slide, or their values will be scrubbed from the Charactermancer data object upon moving to the next page.


setCharmancerOptions(<Class Name>, <Select Options>, <Settings>, <Callback>); </pre>

 setCharmancerOptions("select-class", "Category:Items Type:Weapons", {add:["Magic Longsword","Axe of Amazingness"], category:"Items"}); 

The setCharmancerOptions function allows you to update Charactermancer Selects or Radio Inputs with dynamic options as needed. The function requires the first two arguments but can accept up to four. Das erste Argument ist der Klassenname des Charactermancer Select, den Sie mit Optionen füllen möchten. Das zweite Argument kann mit einem Array vordefinierter Optionen übergeben werden oder mit einem Compendium-Suchstring, um eine dynamische Liste von Optionen aus dem Kompendium zu generieren. Das dritte Argument akzeptiert verschiedene optionale Einstellungen, die unten näher erläutert werden. Das abschließende Argument ist eine Callback-Funktion, die nach der Rückgabe von setCharmancerOptions ausgeführt wird. Diese Callback-Funktion erhält einen Parameter, der ein Array der gefundenen/ausgefüllten Werte enthält. Bei Verwendung mit type='radio'-Eingaben funktioniert die Funktion genauso, jedoch werden alle Spans mit diesem Namen auf der Folie gefunden und anstelle mit Inhalten von<label><input type="checkbox"></label>ausgefüllt.

  • Kategorie: Name der Optionen
  • deaktivieren: Array von Optionen, die deaktiviert werden sollen und mit den Werten übereinstimmen müssen
  • ausgewählt: Wert der ursprünglich ausgewählten Option
  • hinzufügen: Array von zusätzlichen oder verschiedenen Optionen, die am Ende der Select-Optionen hinzugefügt werden sollen
  • show_source: Zeigt Optionen mit Kürzeln für Compendiumerweiterungen in Klammern an (nur verfügbar, wenn eine Compendium-Suche als Select-Option verwendet wird)

disableCharmancerOptions(<Class Name>, <Select Options>, <Settings>);

 disableCharmancerOptions("select-class", ["one","two"]); 

The disableCharmancerOptions functions similarly to setCharmancerOptions . It only accepts an array of options to disable either Charactermancer Selects or Radio Inputs. The function will not disable a currently selected option. If two or more selects have the same values, it disables on all of them at once. Passing in an empty array will re-enable everything.


showChoices([<class name>]);

 showChoices(["sheet-test","sheet-test2]); 

The showChoices function reveals hidden Conditional Sections with the sheet-choice class. Es akzeptiert ein Argument als ein Array von Klassennamen für bedingte Abschnitte, um sie freizugeben.


hideChoices([<class name>]);

 hideChoices(["sheet-test","sheet-test2]); 

Die hideChoices-Funktion blendet aktuell sichtbare bedingte Abschnitte mit der  sheet-choice  Klasse aus. Es akzeptiert ein Argument als ein Array von Klassennamen für bedingte Abschnitte, um sie auszublenden. Wenn kein Argument angegeben wird, werden alle Auswahlen auf der aktuellen Folie ausgeblendet.


getCompendiumPage(<Compendium Page Name>, [<Values>], <Callback>)

 getCompendiumPage(<code> Compendium Name", function(data) {...}); 

Die getCompendiumPage-Funktion ruft die Datenattribute einer Kompendiumseite ab und ermöglicht es Ihnen, diese Daten sowohl dem Charactermancer-Datenobjekt als auch einer Rückruffunktion zu übergeben. Das erste Argument, das die Funktion akzeptiert, ist der Name der Kompendiumseite, von der Sie die Daten abrufen möchten, oder ein Array von Seiten. Nochmals, es wird empfohlen, das Format <category>:<pagename> zu verwenden, um das richtige Ergebnis zu gewährleisten. Die dritte Option ist eine Rückruffunktion, die das Datenobjekt als Argument übergibt.

Wenn diese Funktion im mancerchange: Ereignis für ein Attribut aufgerufen wird, werden alle Daten im "data"-Abschnitt des JSON-Objekts der aktuellen Folie gespeichert, unter einem Schlüssel, der dem Namen dieses Attributs entspricht. Um sicherzustellen, dass Daten ordnungsgemäß gespeichert werden, wird empfohlen, sicherzustellen, dass getCompendiumPage der erste asynchrone Blattarbeiter ist, der in diesem Ereignis aufgerufen wird. Wenn mehrere Seiten mit dieser Funktion abgerufen werden, wird nur die erste Seite in den Daten gespeichert. Wenn ein leerer String als erster Parameter verwendet wird, werden die aktuell gespeicherten Daten für dieses Attribut gelöscht (nicht jedoch der Wert des Attributs).

Diese Daten werden nicht in Firebase gespeichert. Stattdessen werden alle Datenfelder beim ersten Öffnen des Charactermancer aus dem Kompendium abgerufen.


getCompendiumQuery(<Compendium Query String>, <Callback>)

 getCompendiumQuery("Category:Spells Level:1|2|3 Class:*Bard", function(data) {...}); 

Diese Funktion funktioniert ähnlich wie getCompendiumPage, verwendet jedoch einen Abfrage-String (oder ein Array von Abfragen), um Ergebnisse abzurufen, und es werden keine Daten im Charactermancer-Objekt gespeichert.


getCharmancerData()

 var data = getCharmancerData(); 

Die Funktion getCharmancerData gibt den aktuellen Wert des Charactermancer-Datenobjekts zurück.


deleteCharmancerData([<pages>], <Callback>)

 deleteCharmancerData(["slide1","slide3","slide4"], function(data) {...}) 

The deleteCharmancerData function accepts two arguments. Das erste Argument ist ein Array von Folien-Namen, um alle zugehörigen Charactermancer Data Object Daten und Werte zu löschen und die Folie so zu leeren, als ob sie noch nie besucht worden wäre. Wenn keine Folien als Argument übergeben werden, entfernt die Funktion alle Daten und Auswahlmöglichkeiten. The second argument is a callback performed after the deleteCharmancerData function is completed.


finishCharactermancer() =

 finishCharactermancer() 

Die spezielle Funktion finishCharactermancer wechselt von der finalen Folie zurück zum Charakterbogen.


setSectionOrder(<Repeating Section Name>, <Section Array>, <Callback>);

(Reguläre Sheet-Arbeiterfunktion, keine Charactermancer-Funktion)

 setSectionOrder("proficiencies", final-array, callbackFunction); 

Die Funktion setSectionOrder ermöglicht die Sortierung von wiederholenden Abschnitten nach Ihren Vorlieben. Die Funktion akzeptiert einen wiederholenden Abschnitt ( wiederholend_  wird diesem Wert vorangestellt), die Methode, nach der basierend auf den Daten des wiederholenden Elements sortiert werden soll, und eine optionale Rückruffunktion.


Charactermancer Wiederholende Abschnitte

Wiederholende Abschnitte im Charactermancer funktionieren anders als die wiederholenden Abschnitte in Charakterbögen. Anstatt an ein bestimmtes Element auf der Seite gebunden zu sein (dem <fieldset>), sind wiederholende Abschnitte im Charactermancer HTML-Code-Schnipsel, die an ein beliebiges Element in der aktiven Charactermancer-Folie angehängt werden können (auch innerhalb eines anderen wiederholenden Abschnitts). Dieser HTML-Code wird auf die gleiche Weise wie der Rest des Blattes bereinigt.

Wenn ein Abschnitt zur Folie hinzugefügt wird, wird eine eindeutige Zeilen-ID für diese Zeile generiert. Diese ID wird als Klasse auf das übergeordnete Element dieses Abschnitts angewendet und wird verwendet, um alle Eingaben, Aktionsfelder oder Wurfschaltflächen innerhalb dieses Abschnitts umzubenennen. Die Namenskonvention lautet: "wiederholend_123456789_row_input", wobei "row" der Name des wiederholenden Abschnitts ist und "input" der Name der Eingabe ist. Die Werte aus den Eingaben in wiederholenden Abschnitten werden unter dem Schlüssel "Werte" im Charactermancer-Datenobjekt zusammen mit den anderen Werten aus dieser Folie gespeichert. Der Name des wiederholenden Abschnitts (der Name des übergeordneten Abschnitts, nicht jeder Wert innerhalb) wird für jede Folie dem "wiederholen" -Array hinzugefügt.

Die Hörermancerchange,mancerroll,und clicked können auf Änderungen in einem sich wiederholenden Abschnitt hören. Bei einer Änderung vonrepeating_123456789_row_inputwird eine Änderung für das Attribut selbst,mancerchange:repeating_row_input, und den Abschnitt, in dem es enthalten ist,mancerchange:repeating_row, ausgelöst. Wenn sich dieser Abschnitt innerhalb eines anderen wiederholenden Abschnitts befindet, wird auch ein Ereignis für den übergeordneten wiederholenden Abschnitt ausgelöst. Die Ereignisinformationen für eine Änderung an einem wiederholenden Abschnitt enthalten weitere neue Elemente zusätzlich zu den oben genannten normalen Elementen:

  • sourceAttribute:"repeating_123456789_row_input"Der spezifische geänderte Attribut
  • sourceSection:"repeating_row"Der Name des wiederholenden Abschnitts, in dem sich die sourceAttribute befindet
  • triggerName:"repeating_row"Der Name des ausgelösten Listeners

Diese Abschnitte sind nicht persistent, das heißt, wenn der Benutzer die Folie verlässt und sie erneut aufruft, wird die Folie ohne die wiederkehrenden Abschnitte geladen und verlässt sich darauf, dass die automatischen Änderungsereignisse Arbeitskräfte zum Hinzufügen dieser Abschnitte zur Seite auslösen (siehe Abschnitt unten über das erneute Besuchen von Folien).


Abschnittsdefinition

<charmancer class="sheet-repeating-row">

 <charmancer class="sheet-repeating-row"> 

Um einen wiederkehrenden Abschnitt zu definieren, platziere den Codeausschnitt innerhalb eines<charmancer>-Tags und verwende eine Klasse, die mit den Schlüsselwörtern "sheet-repeating-" beginnt. In obigem Beispiel wird der Code innerhalb der<charmancer>-Tags als wiederkehrender Abschnitt namens "row" definiert.


addRepeatingSection(<class_name>, <section_name>, <new_name>, <callback>)

 addRepeatingSection("sheet-class", "row", "spellrow", function(sectionid) {...}); 

Diese Funktion fügt den angegebenen wiederkehrenden Abschnitt zum angegebenen Ziellement hinzu. Das erste Argument ist der Selektor für das Ziellement, das zweite gibt an, welche wiederholte Sektion hinzugefügt werden soll. Das dritte Argument ist optional und definiert einen neuen Abschnittsnamen für diesen spezifischen Abschnitt. Wenn es weggelassen wird, wird der Abschnittsname einfach den zweiten Parameter als Namen verwenden. Der Rückruf für diesen Abschnitt erhält die Abschnitts-ID, die dem Abschnitt zugewiesen wurde.


clearRepeatingSections(<target>, <callback>)

 clearRepeatingSections("sheet-class", function() {...}); 

Diese Funktion löscht alle wiederholten Abschnitte aus dem durch das erste Argument angegebenen Element. Es entfernt den HTML-Code selbst zusammen mit allen entsprechenden Werten im Charactermancer-Datenobjekt.


clearRepeatingSectionById([<section_ids>], <callback>)

 clearRepeatingSectionById([<id1>, <id2>, ...], function() {...}); 

Diese Funktion ähnelt der clearRepeatingSections-Funktion, löscht jedoch nur spezifische wiederholte Abschnitte, die durch das Array im ersten Argument definiert sind. Es werden auch alle angegebenen sich wiederholenden Abschnitte gelöscht.


getRepeatingSections(<target>, <callback>)

 getRepeatingSections("sheet-class", function(repeating) {...}); 

Diese Funktion liefert detailliertere Informationen zu den sich wiederholenden Abschnitten auf der aktuellen Folie. Das erste Argument ist ein Selektor für das Ziel-Element. Damit lässt sich eine Liste der sich wiederholenden Abschnitte innerhalb dieses Elements erstellen. Wenn dies ausgelassen wird, werden alle sich wiederholenden Abschnitte auf dieser Folie zurückgegeben. Die an den Callback zurückgegebenen Daten enthalten auch ein JSON-Objekt, das die Struktur der wiederholenden Abschnitte zeigt und angibt, welche Abschnitte in anderen Abschnitten enthalten sind.


Slides überarbeiten

Wenn der Benutzer eine Folie verlässt und später darauf zurückkommt, löst der Charactermancer automatisch Änderungsereignisse für die gespeicherten Werte auf der Seite aus. Dies dient dazu, dass die Blattarbeiter ausgelöst werden und die Folie in ihren vorherigen Zustand zurückversetzt wird. Das ist notwendig, weil die Änderungen, die von den Funktionen, die HTML manipulieren (wiesetCharmancerTextundaddRepeatingSection), vorgenommen werden, nicht fortbestehen. Es ist wichtig zu beachten, dass diese Workers möglicherweise beim erneuten Besuch der Folie ausgeführt werden. Planen Sie die Workers entsprechend. Beachten Sie, dass beim erneuten Besuch einer Folie die zuvor verwendeten IDs für wiederholende Abschnitte für Abschnitte mit übereinstimmenden Namen wiederverwendet werden, sodass diese IDs konstant bleiben sollten.


Pseudo-Attribut charactermancer_step

Dascharactermancer_stepAttribut ist ein Pseudo-Attribut wie character_name. Dies ermöglicht es Ihnen, den Schritt festzulegen, zu dem der Charactermancer das nächste Mal geöffnet wird, wenn er gestartet wird. Dieses Attribut kann mit einer normalensetAttrsFunktion festgelegt werden und kann nicht festgelegt werden, während der Charactermancer aktiv ist.

War dieser Beitrag hilfreich?
7 von 28 fanden dies hilfreich