public static TaskState CreateTask(IEnumerator c) { //要創造對象,那么創造完後就要return,所以必須有個用來return的class if (singleton == null) { GameObject go = new GameObject("MyTaskManager"); singleton = go.AddComponent <MyTaskManager>(); } return(new TaskState(c)); }
public MyTask(IEnumerator c, bool autoStart = true) { //產生一個任務並自動開始執行 task = MyTaskManager.CreateTask(c); //將這個class中的TaskFinished加入到MyTaskManager中的TaskFinished,所以在myTaskManager中呼叫的時候, //會先呼叫myTaskManager的taskState中的,然後才呼叫這個class中的 task.Finished += TaskFinished; if (autoStart) { //產生後開始執行 task.Start(); } }