Auf Objekten und Charkteren benutze ich aktuell das folgende Pattern.
Ich benutze die zwei Befehle "walk", "talk" (und weitere "look", "use" etc.)
Die Befehle lasse ich immer im "sofort" Modus ausführen, also so das der charakter nicht zuerst hinläuft und über das "walk" command setze ich standardmässig 2 Aktionen:
"Walk" command:
- Schicke Person an Position
- Richte Person in eine Richtung aus
"Talk" command:
- Aktion beginnen/beenden mit Beginnen auf command Walk
- Starte Dialog etc.
Mein Problem ist nun das er mir nicht wartet bis der Charakter den "walk" command komplett ausgeführt hat, sondern der Dialog direkt startet und der Charaketer noch läuft!
Wenn ich die beiden "walk" Aktionen in den Talk commmand einfüge klappt natürlich alles wie erwünscht. (Weil die Befehle mit der entsprechenden Checkbox) synchron umgesetzt werden!
Die erste Variante ist meiner Meinung nach aber sauberer. Spart mir Anweisungen und ist wieder verwendbar. (Beispielsweise ein Look das ebenfalls erst ein hinlaufen erfordert in einigen Fällen.)
Habt ihr Tipps?