public virtual void Evaluate() { }
public override void Update(float time) { if (triggered) { targetCommand.Update(time); if (targetCommand.State == ExecutionState.DONE) { ParentContext.Unlock(this); } } else if (expression.IsTrue()) { triggered = true; targetCommand.Evaluate(); } }