public void Finish() { if (Status == StatusTypes.Running) { Status = StatusTypes.Finished; if (Next != null) { Next.Begin(Model); } else { ExecuteEvents.Execute <IsTaskObserver>(gameObject, null, (target, data) => { target.OnAllTasksFinished(); }); } } }