public override void Execute(EventExecutionContext context, CommandExecutionHandle handle) { if (target.Evaluate(context, out object result)) { string message = ""; switch (target.StoreType) { case VariableReferenceType.Constant: message = "定数"; break; case VariableReferenceType.Temporary: message = "一時変数"; break; case VariableReferenceType.Event: message = "イベント変数"; break; default: throw new ArgumentOutOfRangeException(); } message += ": " + result; Debug.Log(message); } handle.Complete(); }
public override void Execute(EventExecutionContext context, CommandExecutionHandle handle) { if (duration.Evaluate(context, out float durationValue)) { currentHandle = handle; Timer.AddTimer(durationValue, Tick, updateMode); } else { handle.Complete(); } }
public override void Execute(EventExecutionContext context, CommandExecutionHandle handle) { if (target == null || value == null) { Debug.LogWarning("VariableReferenceが未設定です。"); handle.Complete(); return; } if (target.ValueType != value.ValueType) { Debug.LogWarning("VariableReferenceの型が一致しません。"); handle.Complete(); return; } if (value.Evaluate(context, out var evaluated)) { target.SetValue(context, evaluated); } handle.Complete(); }
private void UpdateLoop(EventExecutionContext context, CommandExecutionHandle handle) { if (condition.Evaluate(context)) { var script = new EventScript(); script.CommandList = routine; script.WaitForAllCommands = waitForAllCommand; context.InsertInherit(script, () => UpdateLoop(context, handle)); } else { handle.Complete(); } }
private void UpdateLoop(EventExecutionContext context, CommandExecutionHandle handle) { counter++; if (count.Evaluate(context, out object result)) { if (result is IComparable resultComparable && counter.CompareTo(resultComparable) < 0) { var script = new EventScript(); script.CommandList = routine; script.WaitForAllCommands = waitForAllCommand; context.InsertInherit(script, () => UpdateLoop(context, handle)); return; } } handle.Complete(); }
public override void Execute(EventExecutionContext context, CommandExecutionHandle handle) { calculation.Execute(context); handle.Complete(); }
private void Tick() { Debug.Log("Elapsed!"); currentHandle.Complete(); }
public override void Execute(EventExecutionContext context, CommandExecutionHandle handle) { Debug.Log(message); handle.Complete(); }
public override void Execute(EventExecutionContext context, CommandExecutionHandle handle) { handle.Complete(); }
public override void Execute(EventExecutionContext context, CommandExecutionHandle handle) { ev.Invoke(context.ReferenceResolver); handle.Complete(); }
private void Tick() { currentHandle.Complete(); }