Zum Hauptinhalt springen

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:

  • openHelmet ist die interne Action-ID
  • Open Helmet ist die sichtbare Bezeichnung
  • Facemask/open ist der Command, der die Action auslöst
  • onExecute() 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 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.