77 lines
2.6 KiB
C#

using FSM;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using ZXKFramework;
namespace DongWuYiXue.DaoNiaoShu
{
public class CeLiangFangFaState : FsmState<FSMManager>
{
Button niaoDaoKou_Btn;
Button zuoGu_Btn;
Coroutine cor;
public override void OnStateEnter()
{
base.OnStateEnter();
this.Log("进入测量方法状态");
niaoDaoKou_Btn = GameManager.Instance.transform.FindFirst<Button>("尿道口按钮");
niaoDaoKou_Btn.onClick.RemoveAllListeners();
zuoGu_Btn = GameManager.Instance.transform.FindFirst<Button>("坐骨结节按钮");
zuoGu_Btn.onClick.RemoveAllListeners();
fsm.ShowCamera("测量方法1_Camera");
fsm.ShowTip(0);
fsm.PlayBgm(0);
fsm.PlayClip("测量方法1_TimeLine", () =>
{
fsm.ShowTip(1);
fsm.PlayBgm(1);
niaoDaoKou_Btn.gameObject.SetActive(true);
niaoDaoKou_Btn.onClick.AddListener(() =>
{
if (fsm.main_gameModel.modeType == ModeType.ShiXun)
{
fsm.AddScore(5, 0);
}
fsm.ShowCamera("测量方法2_Camera");
niaoDaoKou_Btn.gameObject.SetActive(false);
fsm.ShowTip(2);
fsm.PlayBgm(2);
cor = Game.Instance.IEnumeratorManager.Run(2.0f, () =>
{
zuoGu_Btn.gameObject.SetActive(true);
zuoGu_Btn.onClick.AddListener(() =>
{
if (fsm.main_gameModel.modeType == ModeType.ShiXun)
{
fsm.AddScore(5, 1);
}
zuoGu_Btn.gameObject.SetActive(false);
fsm.PlayClip("测量方法2_TimeLine", () =>
{
fsm.nextState = true;
});
});
});
});
});
}
public override void OnStateStay()
{
base.OnStateStay();
}
public override void OnStateExit()
{
base.OnStateExit();
if (null != cor)
{
Game.Instance.IEnumeratorManager.Stop(cor);
cor = null;
}
niaoDaoKou_Btn.gameObject.SetActive(false);
zuoGu_Btn.gameObject.SetActive(false);
fsm.nextState = false;
}
}
}