public void Tick() { if (currentTask.endCondition.Invoke()) { currentTask.EndAction.Invoke(); currentTask = tasks.Dequeue(); if (tasks.Count == 0) { AnilUpdate.Tasks.Remove(this); } } }
public WaitUntilTask(Func <bool> endCondition, Action endAction, int calledInstanceId = 0) { this.calledInstanceId = calledInstanceId; tasks = new Queue <WaitTaskData>(); currentTask = new WaitTaskData(endCondition, endAction); }