2025-09-19 17:28:05 +08:00

83 lines
3.1 KiB
C#

using FSM;
using ZXKFramework;
namespace YiLiao.JingMaiLiuZhiZhen
{
public class SongWaiTaoGuanState : FsmState<FSMManager>
{
public override void OnStateEnter()
{
base.OnStateEnter();
if(fsm.main_gameModel.modeType == ZXKFramework.ModeType.ShiXun)
{
fsm.ShowCamera("JinZhenState_Camera2");
fsm.ShowTip(0);
fsm.PlayBgm(0);
fsm.Show_Light_EnableInteraction("针芯");
fsm.ShowArrow("请拖拽针芯", "针芯");
}
if(fsm.main_gameModel.modeType == ZXKFramework.ModeType.KaoHe)
{
fsm.ShowTxtQuestion(4, 4, 1, () =>
{
fsm.ShowCamera("JinZhenState_Camera2");
fsm.ShowTip(0, true);
fsm.PlayBgm(0, true);
fsm.Show_Light_EnableInteraction("针芯", true);
});
}
fsm.InteractionDown("针芯", obj => {
fsm.HideArrow();
});
fsm.InteractionStay("针芯", obj =>
{
if (obj.GetComponent<LinearMapping>().value == 1)
{
if (fsm.main_gameModel.modeType == ZXKFramework.ModeType.ShiXun)
{
fsm.AddScore(2, 1);
}
if (fsm.main_gameModel.modeType == ZXKFramework.ModeType.KaoHe)
{
Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = true });
}
fsm.InteractionStay("针芯",null);
fsm.Unlight_DisableInteraction("针芯");
fsm.ShowTip(1,true);
fsm.PlayBgm(1,true);
fsm.PlayClip("送外管套", () => {
fsm.Light_EnableInteraction("留置针前部分3", true);
fsm.ShowArrow("请拖拽进针", "留置针前部分3");
fsm.InteractionDown("留置针前部分3", args => {
fsm.HideArrow();
fsm.Unlight("留置针前部分3");
});
});
}
});
fsm.InteractionStay("留置针前部分3", obj => {
if (obj.GetComponent<LinearMapping>().value == 1)
{
if (fsm.main_gameModel.modeType == ZXKFramework.ModeType.ShiXun)
{
fsm.AddScore(1, 2);
}
if (fsm.main_gameModel.modeType == ZXKFramework.ModeType.KaoHe)
{
Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = true });
}
fsm.InteractionStay("留置针前部分3", null);
fsm.Unlight_DisableInteraction("留置针前部分3");
fsm.nextState = true;
}
});
}
public override void OnStateExit()
{
base.OnStateExit();
fsm.nextState = false;
}
}
}