2025-10-09 17:36:27 +08:00

131 lines
5.5 KiB
C#

using FSM;
using UnityEngine;
using ZXKFramework;
namespace YiLiao.SiBuChuZhen
{
public class DiErBuState : FsmState<FSMManager>
{
public override void OnStateEnter()
{
base.OnStateEnter();
fsm.HighlightText(0);
fsm.ShowCamera("ShiShiZhunBeiState_Camera");
fsm.PlayClip("四步触诊法动画2", () =>
{
fsm.PlayClip("第二步语音", () =>
{
fsm.OpenQuestion(() => {
if (MVC.GetModel<Main.GameModel>().modeType == ModeType.ShiXun)
{
fsm.Show_Light_EnableInteraction("右手");
fsm.Show("左手");
fsm.Light("左手");
fsm.InteractionDown("右手", args =>
{
fsm.InteractionDown("右手", null);
fsm.Hide_Unlight_DisableInteraction("右手");
fsm.Hide("左手");
fsm.Unlight("左手");
fsm.Show("第二步箭头");
fsm.Show("左手按下");
fsm.Show_Light_EnableInteraction("右手按下");
fsm.InteractionDown("右手按下", args =>
{
fsm.InteractionDown("右手按下", null);
fsm.Hide("左手按下");
fsm.Hide_Unlight_DisableInteraction("右手按下");
fsm.Light("婴儿");
fsm.PlayClip("第二步动画", () =>
{
fsm.Unlight("婴儿");
fsm.Show("第二步箭头2");
fsm.Show("右手按下");
fsm.Show_Light_EnableInteraction("左手按下");
fsm.InteractionDown("左手按下", args =>
{
fsm.Light("婴儿");
fsm.InteractionDown("左手按下", null);
fsm.Hide("右手按下");
fsm.Hide_Unlight_DisableInteraction("左手按下");
fsm.PlayClip("第二步动画2", () =>
{
fsm.Unlight("婴儿");
fsm.nextState = true;
});
});
});
});
});
}
else if (MVC.GetModel<Main.GameModel>().modeType == ModeType.KaoHe)
{
fsm.PlayClip("请选择触诊位置", () =>
{
fsm.Show("左手");
fsm.Light("左手");
fsm.Show_Light_EnableInteraction("宫底处");
fsm.Show_Light_EnableInteraction("右手");
fsm.Show_Light_EnableInteraction("右手掌");
fsm.Show_Light_EnableInteraction("双手掌3");
});
fsm.InteractionDown("右手", args =>
{
fsm.InteractionDown("右手", null);
fsm.Hide("左手");
fsm.Unlight("左手");
fsm.Hide_Unlight_DisableInteraction("右手");
fsm.Hide_Unlight_DisableInteraction("宫底处");
fsm.Hide_Unlight_DisableInteraction("右手掌");
fsm.Hide_Unlight_DisableInteraction("双手掌3");
fsm.Light("婴儿");
fsm.PlayClip("第二步动画", () =>
{
fsm.PlayClip("第二步动画2", () =>
{
fsm.Unlight("婴儿");
fsm.nextState = true;
});
});
});
}
});
});
});
}
public override void OnStateStay()
{
base.OnStateStay();
}
public override void OnStateExit()
{
base.OnStateExit();
fsm.StopClip("第二步语音");
fsm.StopClip("第二步动画");
fsm.StopClip("第二步动画2");
fsm.StopClip("四步触诊法动画2");
fsm.StopClip("请选择触诊位置");
fsm.InteractionDown("右手", null);
fsm.InteractionDown("左手", null);
fsm.InteractionDown("左手按下", null);
fsm.InteractionDown("右手按下", null);
fsm.nextState = false;
}
}
}