public override void Tick() { if (sequenceInterpreter != null) { sequenceInterpreter.Tick(); if (sequenceInterpreter.SequenceFinished) { Debug.Log("Sequence finished"); this.sequenceInterpreter = null; } } }
public override void ReceiveEvent(IGameEvent ev) { if (sequenceInterpreter == null) { if (ev.Name.ToLower() == "start sequence") { Sequence secuence = (ev.getParameter("Sequence") as Sequence); sequenceInterpreter = new SequenceInterpreter(secuence); } } else { sequenceInterpreter.EventHappened(ev); } }
void Update() { if (localExecution && interpreter != null) { interpreter.Tick(); if (interpreter.SequenceFinished) { interpreter = null; if (loop) { Launch(); } } } }
private void Launch() { if (interpreter != null || localSequence == null) { return; } if (localExecution) { if (interpreter == null) { interpreter = new SequenceInterpreter(localSequence); } } else { // Remote start ge = new GameEvent("start sequence", new System.Collections.Generic.Dictionary <string, object> () { { "sequence", localSequence } }); Game.main.enqueueEvent(ge); } }