Modul "Triggered"
Verfasst: Mi Feb 26, 2020 9:19 pm
Es gibt ein neues Modul für die Logic-Engine: Das "Triggered"-Modul mit dem sich erkennen lässt, welcher Eingang die Logik getriggert hat.
Die Syntax für die Trigger-Erkennung sieht folgendermassen aus:
[ "Triggered", "$Input", "$Touched" ]
Der Trigger-Erkennung funktioniert folgendermaßen:
Der Status des "$Input"-Levels wird überprüft, ob er beim aktellen Durchlauf dieser Logik bereits einmal "angefasst" wurde.
Ist das der Fall wird "$Touched" auf true gesetzt, anderfalls auf false
Wenn ein Ereignis an einem Eingang die Logik triggert, bekommt der mit dem Eingang verbundene Level vorher das "Touched"-Flag gesetzt.
Somit lässt sich einfach abfragen, ob dieser Eingang die Logik ausgelöst hat.
Achtung:
Wird ein Level intern "angefasst", z.B. durch ein vorheriges Modul beschrieben, wird ebenfalls das "Touched"-Flag gesetzt. Will man sicher nur auf "Eingang triggered" testen, muss dieser Test möglichst vor allen anderen Modulen stehen, die den Level verändern können.
Das Modul ist bereits in der aktuellen DEV-Version verfügbar. Viel Spaß beim ausprobieren
Die Syntax für die Trigger-Erkennung sieht folgendermassen aus:
[ "Triggered", "$Input", "$Touched" ]
"Triggered" : Modulkennung "$Input": Referenz auf einen Level der mit einem Eingang verbunden ist "$Touched": Referenz auf einen boolschen Level
Der Trigger-Erkennung funktioniert folgendermaßen:
Der Status des "$Input"-Levels wird überprüft, ob er beim aktellen Durchlauf dieser Logik bereits einmal "angefasst" wurde.
Ist das der Fall wird "$Touched" auf true gesetzt, anderfalls auf false
Wenn ein Ereignis an einem Eingang die Logik triggert, bekommt der mit dem Eingang verbundene Level vorher das "Touched"-Flag gesetzt.
Somit lässt sich einfach abfragen, ob dieser Eingang die Logik ausgelöst hat.
Achtung:
Wird ein Level intern "angefasst", z.B. durch ein vorheriges Modul beschrieben, wird ebenfalls das "Touched"-Flag gesetzt. Will man sicher nur auf "Eingang triggered" testen, muss dieser Test möglichst vor allen anderen Modulen stehen, die den Level verändern können.
Das Modul ist bereits in der aktuellen DEV-Version verfügbar. Viel Spaß beim ausprobieren