71 lines
1.9 KiB
C#
71 lines
1.9 KiB
C#
using FSM;
|
|
using UnityEngine;
|
|
using ZXKFramework;
|
|
namespace DongWuYiXue.QiGuanChaGuan
|
|
{
|
|
public class DaKaiKouQiangState : FsmState<FSMManager>
|
|
{
|
|
/// <summary>
|
|
/// 嘴巴是否张开
|
|
/// </summary>
|
|
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;
|
|
}
|
|
}
|
|
}
|