using FSM; using UnityEngine; using ZXKFramework; namespace DongWuYiXue.QiGuanChaGuan { public class DaKaiKouQiangState : FsmState { /// /// 嘴巴是否张开 /// bool isOpen; Coroutine cor; float openValue; public override void OnStateEnter() { base.OnStateEnter(); this.Log("进入打开口腔状态"); isOpen = false; openValue = 0; fsm.ShowCamera("打开口腔1_Camera"); fsm.ShowTip(1); fsm.PlayBgm(1); openValue = 0; cor = Game.Instance.IEnumeratorManager.Run(6.0f, () => { isOpen = true; }); } public override void OnStateStay() { base.OnStateStay(); if (isOpen) { isOpen = false; //if (Input.GetKeyDown(KeyCode.L)) //{ //openValue = 1; //} //fsm.PlayClip("打开口腔1_TimeLine", null, openValue); //if (openValue >= 1.0f) //{ // if (fsm.main_gameModel.modeType == ModeType.ShiXun) // { // fsm.AddScore(6, 0); // } // if (fsm.main_gameModel.modeType == ModeType.KaoHe) // { // fsm.AddScore(6, 0); // } // isOpen = false; // openValue = 0; // fsm.nextState = true; //} fsm.PlayClip("打开口腔1_TimeLine", () => { if (fsm.main_gameModel.modeType == ModeType.ShiXun) { fsm.AddScore(6, 0); } if (fsm.main_gameModel.modeType == ModeType.KaoHe) { fsm.AddScore(6, 0); } fsm.nextState = true; }); } } public override void OnStateExit() { base.OnStateExit(); openValue = 0; isOpen = false; if (null != cor) { Game.Instance.IEnumeratorManager.Stop(cor); cor = null; } fsm.nextState = false; } } }