2026-04-12 16:04:20 +08:00

87 lines
2.4 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(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;
}
}
}