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(3.0f, () => { isOpen = true; }); } public override void OnStateStay() { base.OnStateStay(); if (isOpen) { //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; } } } public override void OnStateExit() { base.OnStateExit(); openValue = 0; isOpen = false; if (null != cor) { Game.Instance.IEnumeratorManager.Stop(cor); cor = null; } fsm.nextState = false; } } }