private void SwitchMenu(MenuUI menuToHide, MenuUI menuToShow) { if (menuToShow == menuToHide) { return; /// don't reshow the same menu } // stops old routine, creates and starts new routine _transitionRoutine.Stop(); _transitionRoutine.Start(SwitchMenuRoutine(menuToHide, menuToShow)); }
private void OnGUI() { if (GUILayout.Button("启动协程")) { StartTask(); } if (null == task || !task.Running) { return; } if (GUILayout.Button("强制停止")) { Debug.Log("强制停止"); task.Stop(); } if (GUILayout.Button("完成协程")) { Debug.Log("模拟协程完成操作"); finish = true; if (task.Paused) { Debug.Log("模拟协程完成操作--事件在恢复Task时发出~"); } } if (GUILayout.Button(task.Paused ? "继续" : "暂停")) { if (task.Paused) { Debug.Log("继续"); task.Resume(); } else { Debug.Log("暂停"); task.Pause(); } } }