Inhalt
Eine Textzelle auf dem Timer-Bildschirm enthält keinen festen Text. Sie zeigt auf einen benannten Inhalt, und der entscheidet, was gezeichnet wird und ob überhaupt.
Jeder Inhalt hat drei Teile:
- Name: wonach du ihn auswählst, etwa
clock,blinds,player count - Wert: der Text, der auf dem Timer erscheint und laufende Turnierdaten hereinholen kann
- Bedingung: eine optionale Prüfung; solange sie falsch ist, blendet sich jede Zelle aus, die diesen Inhalt nutzt
Diese drei zu trennen ist das, was ein Layout ein ganzes Turnier lang tragen lässt. Der eingebaute Inhalt ante etwa ist daran geknüpft, dass das Level wirklich ein Standard-Ante hat. Die Ante-Zeile ist in Leveln ohne eines also schlicht nicht da, und du musst nicht für jede Turnierphase einen eigenen Bildschirm bauen.
Wo du es findest
Abschnitt betitelt „Wo du es findest“Aus dem Bearbeitungsmodus:
- Tippe auf + → Inhalt, um eine Textzelle einzufügen und ihren Inhalt in einem Schritt zu wählen.
- Wähl eine vorhandene Textzelle aus und öffne ihre Einstellung Inhalt, um sie woanders hinzeigen zu lassen, oder tippe auf Bearbeiten, um den Inhalt selbst zu ändern.
- Inhalt verwalten, aus derselben Einstellung, öffnet die vollständige Liste: jeder Inhalt, den diese Zelle sieht, egal ob der Timer ihn gerade nutzt.
Jede Liste zeigt, was von dort aus zu sehen ist, wo du gerade bist, also von der ausgewählten Zelle oder der Stelle, an der du einfügst, gruppiert danach, wo der Inhalt liegt.
Wert: Text und laufende Daten mischen
Abschnitt betitelt „Wert: Text und laufende Daten mischen“Innerhalb von Wert fügen doppelte geschweifte Klammern laufende Turnierdaten ein. Alles außerhalb der Klammern wird unverändert gezeigt, du kannst beides also frei mischen:
Chips im Spiel {{ totalChipsInPlay }}Was zwischen den Klammern steht, ist ein Ausdruck, kann also rechnen und formatieren und nicht nur einen Wert benennen:
Level {{ blindLevelNumber }} von {{ blindLevelCount }}{{ (secondsLeftInLevel * 1000).toCompactTimeDurationString }}Eine Fußzeile unter dem Feld zeigt immer das fertige Ergebnis, du siehst also genau, was der Timer zeichnen wird. Die Sprache steht unter Skripte, alles Referenzierbare unter Turnierdaten.
Chips in deinem Text
Abschnitt betitelt „Chips in deinem Text“Zwei Arten von Zeichenfolge werden im fertigen Text als Bild statt als Buchstaben gezeichnet, überall dort, wo sie auf dem Timer-Bildschirm auftauchen:
- Ein Chipwert gefolgt von einem
s—25s,1,000s— wird zu diesem Chip, mit deinen eigenen Farben oder deinem Chipfoto. Der Wert muss exakt zu einem der Chips des Turniers passen, geschrieben so, wie die App ihn schreibt, und er muss für sich stehen: Das100sin2,100sist keine solche Zeichenfolge. - Eine Karte —
A♠,10♥— wird zu einer kleinen umrandeten Karte, rot oder schwarz je nach Farbe.
Ein Inhalt mit diesem Wert
Tauscht die {{ colorUpChips.map(func(c) { c.value.toString + "s" }).join(" und die ") }}zeichnet also echte Chips mitten im Satz. Genau so ist das Widget Chips tauschen! gebaut, und nichts hindert dich daran, es in einer eigenen Zeile zu verwenden.
Bedingung: ob überhaupt angezeigt wird
Abschnitt betitelt „Bedingung: ob überhaupt angezeigt wird“Das Feld Bedingung nimmt dieselben Ausdrücke, aber ohne die Klammern, und es muss wahr oder falsch ergeben. Lässt du es leer, ist der Inhalt immer zu sehen.
chipLeaders.isNotEmptycurrentLevel.ante > 0 && currentLevel.bigBlind == 0Die Felder schreiben
Abschnitt betitelt „Die Felder schreiben“Beide Felder nutzen denselben Editor: Syntax-Hervorhebung, Zeilen- und Spaltenanzeige und Autovervollständigung. Fang an, einen Namen zu tippen, und passende Turnierwerte werden mit ihren Beschreibungen angeboten.
Die Schaltfläche { } Skript-Explorer in der Symbolleiste ist der schnellste Weg, etwas zu finden. Sie listet jeden verfügbaren Wert mit Beschreibung und aktuellem Stand auf, lässt dich in Objekte wie einen Spieler oder ein Level hineingehen und kopiert einen Namen mit einem Tipp in die Zwischenablage.
Ist ein Ausdruck falsch, sagt der Editor es rot darunter, statt still zu scheitern. Eine Bedingung, die etwas anderes als wahr oder falsch liefert, wird mit Die Bedingung muss als wahr oder falsch bewertet werden. zurückgewiesen.
Wo Inhalte liegen
Abschnitt betitelt „Wo Inhalte liegen“Inhalte liegen an einem von vier Orten, und die Listen gruppieren sie unter denselben Überschriften, den nächsten zuerst:
- Dieses Widget: Inhalte, die ein Widget mitbringt. Nur die Zellen darin sehen sie.
- Dieses Layout: Inhalte, die zum angezeigten Layout gehören. Alle seine Zellen sehen sie, in jedem Level, andere Layouts nicht.
- Alle Layouts: Inhalte, die sich alle Layouts des Turniers teilen.
- Integriert: die Inhalte, die die App mitbringt.
Ist ein Name an mehreren Orten festgelegt, gewinnt der nächste: Der eigene title eines Widgets geht dem des Layouts vor, und der dem, den sich alle Layouts teilen. Die Liste zeigt jeden Namen einmal, unter dem Ort, von dem die Zelle ihn bekommt.
Ein neuer Inhalt fragt, wohin er gehört, Dieses Layout oder Alle Layouts, und steht zunächst auf Dieses Layout. Das passt zu etwas, das ein Bildschirm braucht, etwa Platzwechsel oder eine Punktetabelle. Wähl Alle Layouts für etwas, das jeder Bildschirm zeigt, etwa den Namen deines Clubs. Inhalte unter Dieses Layout gehören zum Layout: Duplizieren kopiert sie mit, und Löschen löscht sie mit.
Eingebaute und eigene Inhalte
Abschnitt betitelt „Eingebaute und eigene Inhalte“Eine Änderung wirkt dort, wo der Inhalt liegt, nur eingebaute Inhalte werden nie an Ort und Stelle geändert:
- Bearbeitest du einen eingebauten Inhalt unter Integriert, bekommt dieses Turnier eine eigene Fassung unter Alle Layouts, die dann an die Stelle der mitgelieferten tritt.
- Bearbeitest du einen eingebauten Inhalt, der unter Dieses Widget steht, bekommt dieses Widget eine eigene Kopie, und der Rest des Turniers bleibt unberührt.
Inhalte, die von dem abweichen, was die App mitbringt, stehen fett da: jeder, den du angelegt hast, und jeder eingebaute, den du geändert hast.
Wisch einen Inhalt in Inhalt verwalten nach links, um ihn dort zu löschen, wo er liegt. Zeigt eine Zelle auf dem Timer ihn von dort, warnt dich die App vorher und nennt ihn. Eingebaute Inhalte lassen sich nicht löschen.
Namen müssen unter allem eindeutig sein, was die Zelle sieht, die eingebauten Namen eingeschlossen. Du kannst also keinen zweiten clock anlegen. Bearbeite entweder clock selbst oder leg einen unter einem anderen Namen wie clock big an und richte die Zelle darauf.
Inhalte reisen mit den Zellen, die sie nutzen. Das Speichern eines Widgets legt die Inhalte seiner Zellen ins Widget, und Ausschneiden oder Kopieren einer Zelle tut dasselbe. Text, den du in ein anderes Layout oder aus einem Widget heraus einfügst, liest sich also gleich. Layouts importieren überträgt ein ganzes Aussehen, Layouts und Inhalte zusammen.
Ein paar eingebaute Inhalte, die sich lohnen
Abschnitt betitelt „Ein paar eingebaute Inhalte, die sich lohnen“Das sind ganz normale Inhalte. Öffne einen davon, um zu sehen, wie er aufgebaut ist, oder übernimm den Ansatz für eigene.
| Name | Wert | Bedingung |
|---|---|---|
tournament title | {{ title }} | immer |
title | {{ currentLevel.title }} | immer |
break title | Pause | isBreakLevel && currentLevel.title.isEmpty |
level number | Level {{ blindLevelNumber }} von {{ blindLevelCount }} | isBlindsLevel |
clock | {{ (secondsLeftInLevel * 1000).toCompactTimeDurationString }} | immer |
blinds | Small / Big Blind, kompakt formatiert | currentLevel.bigBlind > 0 |
ante | Ante {{ (currentLevel.ante).toCompactDecimalString }} | nur Standard-Antes |
bb ante | BB Ante {{ … }} | nur Big-Blind-Antes |
next level blinds | die Blinds des nächsten Levels | nextLevel.bigBlind > 0 |
next break time | , Pause in {{ (secondsUntilNextBreak / 60).round }} Min. | eine Pause steht an |
player count | {{ currentPlayerCount }} von {{ totalPlayerCount }} Spielern | immer |
chips per player | Durchschnittlicher Stack {{ averageChipsPerPlayer.round.toCompactDecimalString }} | immer |
BBs in play | durchschnittliche und gesamte Stapel in Big Blinds | activeBigBlind > 0 |
current time | {{ now().toTimeString }} | immer |
chip leaders | die drei größten Stapel, Namen und Summen | chipLeaders.isNotEmpty |
high hand | Besitzer, Name und Karten der Hand | hasHighHand |
rebuy countdown | Rebuys enden in {{ (secondsUntilRebuysEnd * 1000).toApproximateDurationString }}! | eine Rebuy-Phase läuft |
rebuy countdown paused | Rebuys enden nach Level {{ rebuyEndLevel }}! | dasselbe, aber der Timer ist pausiert |
color up title | Chips tauschen! | ein Tauschpunkt erreicht ist (standardmäßig eine Pause) und ein Chip entbehrlich geworden ist |
color ups | die abzuräumenden Chips, gezeichnet als Chips | dasselbe |
separator | • | immer |
Level-Nummern und Pausen
Abschnitt betitelt „Level-Nummern und Pausen“Pausen sind auch Level, levelIndex zählt sie also mit: Mit einer Pause dazwischen folgt auf Level 4 das Level 6. Um nur die Blind-Level zu nummerieren, nimmst du blindLevelNumber und blindLevelCount, so wie es der eingebaute Inhalt level number macht. Seine Bedingung ist isBlindsLevel, die Zelle blendet sich in Pausen also aus, statt auf dem gerade beendeten Level stehen zu bleiben.