private void Update() { if (!IsExecuting || !waitingFin) { return; } //if (ctrl != null && ctrl.State != PlayableDirectorManualCtrl.CtrlState.Play) //{ // Logger.Log("启动PlayableDirectorManualCtrl"); // ctrl.Play(); //} // if (!waitingFin) return; int updateTimes = PlayableDirectorManualCtrl.CalcEvaluateTimes(Time.deltaTime); if (updateTimes < 1) { timer += Time.deltaTime; } else { timer += PlayableDirectorManualCtrl.minUpdateTime * updateTimes; } if (timer >= waitTime) { if (waitUntilFinished) { if (ctrl.State != PlayableDirectorManualCtrl.CtrlState.Play) { waitingFin = false; Continue(); } } else { waitingFin = false; Continue(); } } }
public override void OnEnter() { if (pd == null) { Continue(); return; } ctrl = pd.gameObject.GetComponent <PlayableDirectorManualCtrl>(); if (ctrl == null) { ctrl = pd.gameObject.AddComponent <PlayableDirectorManualCtrl>(); } if (ctrl != null) { if (ctrl.State != PlayableDirectorManualCtrl.CtrlState.Play) { //pd.initialTime = 0; //pd.Play(); ctrl.Play(); } else { LoopTimeline.AddContinueCount(); } if (waitTime > 0.001f || waitUntilFinished) { timer = 0f; waitingFin = true; } else { Continue(); } } else { Continue(); } }