You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
3.8 KiB
HTML

<!menue>
<!h1=MessageInterface>
<!h2a=varmgr.VAR,varmgr.VAR [expr],varmgr.VAR>
<h3><wT>varmgr.<wV>VAR [<wD>OP] [expression]</h3>
<wT>varmgr.VAR ohne <wD>OP und ohne <wV>expression:
<p>
VAR steht für einen Variablennamen. varmgr.VAR (Ohne OP und Expr) bewirkt, dass der Inhalt der Variable als normale Message an alle Objekte verschickt wird.
Anwendung:
z.b. Setzt man irgendwo die Vairalbe TITELMUSIK auf die message "musikplayer.play theme1.ogg"
Später in irgendeinen Programteil ruft man "varmgr.TITELMUSIK" auf und kümmert sich nicht weiter um den Inhalt.
Mit diesem Ausdruck varmgr.VARNAME kann man also so etwas ähnliches wie Defines nachbauen.
<pre>
varmgr.TITELMUSIK = "musikplayer.play theme1.ogg"
varmgr.TITELMUSIK <--- Inhalt als Message verschicken
</pre>
</p>
<wT>varmgr.VAR<wD>OP
<p>
VAR steht für einen Variablennamen.
Operator Liste:
<!ul=
<wD>++<br>Aufzählen um den Wert 1\
<wD>--<br>Abziehen um den Wert 1\
<wD>+= <wD>Konstante | <wV>VARNAME<br>Aufzählen eines Konstanten Wertes, oder der Inhalt der Variable laut VARNAME.\
<wD>-= <wD>Konstante | <wV>VARNAME<br>Abziehen eines Konstanten Wertes, oder der Inhalt der Variable laut VARNAME.\
<wD>= <wD>Konstante | <wV>VARNAME<br>Zuweisung eines Konstanten Wertes, oder der Inhalt der Variable laut VARNAME.\
<wD>= <wD>RAND_P<br>Zuweisung eines zufälligen Wertes im Prozentbereich 0 bis einschliesslich 100.\
<wD>= <wD>RAND_B<br>Zuweisung eines zufälligen boolschen Wertes 0 oder 1.\
<wD>= <wD>RAND_I<br>Zuweisung eines zufälligen positiven Integer Wertes.\
<wD>= <wD>RAND_I <wV>maxint<br>Zuweisung eines zufälligen positiven Integer Wertes im Bereich 0 bis maxint.\
<wD>= <wD>RAND_I <wV>minint <wV>maxint<br>Zuweisung eines Zufälligen positiven Integer Wertes im Bereich minint bis maxint.
<wD>= <wD>RAND_F<br>Zuweisung eines zufälligen Wertes zwischen 0.0f und 1.0f.\
<wD>= <wD>RAND_F <wV>maxf<br>Zuweisung eines zufälligen float Wertes im Bereich 0 bis maxf.\
<wD>= <wD>RAND_F <wV>minf <wV>maxf<br>Zuweisung eines zufälligen float Wertes im Bereich minf bis maxf.
=ul>
Beispiele:
<pre>
varmgr.LEVELNUM++ <- Inhalt + 1
varmgr.LevelCurrent=LEVELNUM <- levelcurrent erhält inhalt von varmgr.LEVELNUM
varmgr.LevelCurrent += 10 <- Konstante aufzählen
varmgr.SCORE -= SCORE_MALUS <- Wert einer Variable vom Inhalt Score abzählen
varmgr.CNT_ENEMY = RAND_I 10 20 <- Wert zwischen 10 und 20
--
--Per Zufall ein Eingabefeld befüllen
--
varmgr.H=RAND_I 0 4
varmgr.IF H==1 THEN hiscoreinput.default = "Mr. No Name"
varmgr.IF H==2 THEN hiscoreinput.default = "dont know"
varmgr.IF H==3 THEN hiscoreinput.default = "guess who!"
</pre>
</p>
<!h2a=varmgr.clear,varmgr.clear,varmgr.clear>
<h3><wT>varmgr.clear</h3>
Alle Variablen werden gelöscht.
<!h2a=varmgr.IF,varmgr.IF expr,varmgr.IF>
<h3><wT>varmgr.IF <wV>VAR <wD>OP <wV>VAR [AND ...] THEN <wV>msgstring [ELSE <wV>msgstring ]</h3>
IF Abfrage zweier Variablen. bzw. mit AND Verknüpft mehrerer Variablen.
Liefert das IF ein positives Ergebnis, dann wird die Message im THEN Zweig ausgeführt. Ansonsten, wenn vorhanden, der ELSE Zweig.
Gültige Operationen:
<!ul=
<wD>==<br>gleichheits Operator\
<wD>!=<br>ungleich Operator\
<wD>&lt;=<br>kleinergleich Operator\
<wD>&gt;=<br>grössergleich Operator\
<wD>&lt;<br>kleiner Operator\
<wD>&gt;<br>grösser Operator
=ul>
Beispiele:
<pre>
varmgr.LEVELNUM++
varmgr.IF LEVELNUM>7 THEN varmgr.LEVELNUM=1
varmgr.IF LEVELNUM==1 THEN varmgr.SCORE=0
varmgr.IF LEVELNUM==2 THEN SCORE=10 <--- varmgr selbst kann weggelassen
</pre>
<!h1a=Native C++ Interface,CVarMgr,CVarMgr>
<!h3=CActor,CActor,CActor>
link to CActor
<!h3=CVarMgr,CVarMgr,CVarMgr>
<wT>bool <wT>CVarMgr::<wF>Message (const char *Type);
<wT>bool <wT>CVarMgr::<wF>ParseMsg (const char *arg);
<wT>bool <wT>CVarMgr::<wF>TranslateVar ( char *buf);
<wT>bool <wT>CVarMgr::<wF>TranslateRand (char *wert);