Actions
Actions sind die wichtigste Möglichkeit, Funktionalität über ArmorLink bereitzustellen.
Ein Module kann eine oder mehrere Actions bereitstellen, die über das ArmorLink-Netzwerk ausgeführt werden können.
Beispiele:
- Helmet öffnen
- Helmet schließen
- Faceplate umschalten
- Rakete abfeuern
- Sound abspielen
Actions werden automatisch von der ArmorLink App erkannt und dem Benutzer angezeigt.
Weitere Informationen findest du unter Modules.
Was ist eine Action?
Eine Action repräsentiert Funktionalität, die remote ausgeführt werden kann.
Actions sind keine Benutzeroberflächen-Elemente.
Actions sind keine Buttons.
Actions sind keine lokalen Events.
Eine Action definiert, wie ein Module reagiert, wenn ein passender Command empfangen wird.
Action erstellen
Actions werden über die Action-Collection eines Modules erstellt.
Beispiel:
module.actions()
.add("openHelmet")
.label("Open Helmet")
.command("Facemask", "open")
.onExecute([]{
openFaceplate();
});
In diesem Beispiel:
openHelmetist die interne Action-IDOpen Helmetist die sichtbare BezeichnungFacemask/openist der Command, der die Action auslöstonExecute()definiert, was bei der Ausführung passiert
Actions und Commands
Actions und Commands sind eng miteinander verbunden, aber nicht dasselbe.
Ein Command ist eine Nachricht, die durch das ArmorLink-Netzwerk gesendet wird.
Eine Action definiert, wie ein Module auf einen Command reagiert.
Eingehender Command
|
v
Passende Action
|
v
onExecute()
Weitere Informationen findest du unter Commands.
Der onExecute-Callback
Der onExecute()-Callback enthält den Code, der ausgeführt werden soll, wenn die Action ausgelöst wird.
Wenn ein passender Command empfangen wird, ruft ArmorLink den Callback automatisch auf.
Actions in der ArmorLink App
Actions werden automatisch in der ArmorLink App bereitgestellt.
Die App kann verfügbare Actions erkennen und anzeigen, ohne dass dafür eine eigene Benutzeroberfläche programmiert werden muss.
Die App zeigt das Label der Action an und ermöglicht deren Ausführung.
Actions vs. Anwendungslogik
Ein häufiges Missverständnis ist, dass Actions und lokale Events dasselbe sind.
Das sind sie nicht.
Ein lokaler Button-Klick, der einen Command sendet, ist normale Anwendungslogik.
Die empfangende Seite kann anschließend eine passende Action ausführen.
Mehrere Actions
Ein Module kann beliebig viele Actions bereitstellen.
Jede Action kann auf einen anderen Command reagieren und unterschiedliche Funktionalität ausführen.
Zusammenfassung
Actions sind der zentrale Mechanismus, um Funktionalität über ArmorLink bereitzustellen.
Eine Action:
- Repräsentiert Funktionalität
- Kann von der ArmorLink App erkannt werden
- Wird durch eingehende Commands ausgelöst
- Führt Code über
onExecute()aus
Actions sind keine lokalen Events.
Sie definieren, wie ein Module auf Commands aus dem ArmorLink-Netzwerk reagiert.