Countdown

Aus AntamarWiki
Version vom 5. Juli 2021, 07:16 Uhr von Lowlander (Diskussion | Beiträge) (Warnung bei scene-Scoped Variablen + Doku ergänzt)
Wechseln zu: Navigation, Suche

Mit dem countdown-AOQML-Tag kann in der Szene ein runterlaufender Zähler angezeigt werden.

Syntax

<countdown name="" [nullable="true|false"] [class="..."]/>

Parameter

  • name: Die Auslaufzeit ('expire') einer zuvor definierten Variable wird ausgelesen und die verbleibende Zeit wird ermittelt. Darf NICHT im scene-Scope sein, muss also in der Datenbank gespeichert sein.
  • nullable (optional): bei "true" keine Fehlermeldung für undefinierte Variable
  • class (optional): CSS-KLasse, ggf. Leerstring für keine besondere Formatierung (keinen Rahmen wie im Default)

Beispiel

<store name="held-arbeitet" expire="8h">true</store>
<countdown name="held-arbeitet" />

zeigt einen Countdown in etwa so an:

noch 7 Stunden 59 Minuten 59 Sekunden Anschließend wird die Zeit runtergezählt.

Ist die Zeit abgelaufen, erscheint die Meldung: Abgelaufen

Den Helden während des laufenden Countdowns festhalten und erst nach Ablauf neue Optionen geben, funktioniert so:

arbeiten.xml:

<?xml version="1.0" encoding="UTF-8"?>
<scene xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://eisentrutz.antamar.eu/aoqml.xsd">
    <store name="held-arbeitet" expire="8h">true</store>
    <include target="arbeiten1"/>
</scene>

arbeiten1.xml:

<?xml version="1.0" encoding="UTF-8"?>
<scene xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://eisentrutz.antamar.eu/aoqml.xsd">
        <switch name="held-arbeitet">
                <null>
                        Puh, endlich Feierabend!
                        <choice target="weiter">weiter</choice>
                </null>
                <else>
                        Held arbeitet noch: <countdown name="held-arbeitet" />
                        <choice target="arbeiten1">weiter</choice>
                </else>
        </switch>
</scene>

Es gibt noch zwei Attribute: nullable, damit bei bereits abgelaufenen (aber auch bei niemals gesetzten) Variablen keine Fehlermeldung kommt, und class, für das setzen der CSS class (default 'countdown' - weiße Box).

Man kann auch dem Tag einen Inhalt geben, der statt der "Abgelaufen!" Meldung angezeigt wird, das kann auch ein Link (choice) sein.

Beispiel:

<?xml version="1.0" encoding="UTF-8"?>
<scene xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://eisentrutz.antamar.eu/aoqml.xsd">
    Nach der Arbeit geht es ... 
    <countdown name="held-arbeitet" nullable="true" class="">
        <choice target="arbeiten1">weiter</choice>
    </countdown>
</scene>