177 lines
8.7 KiB
C#
Raw Normal View History

2025-09-19 17:28:05 +08:00
using FSM;
using System;
using UnityEngine;
using ZXKFramework;
namespace YiLiao.JingMaiLiuZhiZhen
{
public class JinZhenState : FsmState<FSMManager>
{
public override void OnStateEnter()
{
base.OnStateEnter();
if(fsm.main_gameModel.modeType == ModeType.ShiXun)
{
fsm.ShowCamera("JinZhenState_Camera2");
fsm.ShowTip(0);
fsm.PlayClip("<22><><EFBFBD><EFBFBD>", () => {
fsm.ShowTip(1);
fsm.PlayBgm(1);
fsm.ShowCamera("JinZhenState_Camera2");
fsm.ShowSlider(new UnityEngine.Vector2(-341f, -50f), 90, 0, 45, value => {
fsm.Get("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>").transform.localEulerAngles = new UnityEngine.Vector3(0, -148f, value - 90);
}, value => {
if (Convert.ToInt32(value) >= 15 && Convert.ToInt32(value) <= 30)
{
fsm.AddScore(2, 1);
}
else
{
fsm.AddScore(0, 1);
}
fsm.Get("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>").transform.localEulerAngles = new UnityEngine.Vector3(0, -148f, -70);
fsm.ShowTip(2);
fsm.PlayBgm(2);
fsm.Light_EnableInteraction("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>");
fsm.ShowArrow("<22><><EFBFBD><EFBFBD>ק<EFBFBD><D7A7><EFBFBD><EFBFBD>", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>");
fsm.InteractionDown("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>", args => {
fsm.HideArrow();
fsm.Unlight("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>");
});
});
fsm.ShowArrow("<22><><EFBFBD><EFBFBD>ק<EFBFBD>ǶȽ<C7B6><C8BD><EFBFBD><EFBFBD><EFBFBD>", new UnityEngine.Vector3(-342f, -37.8f));
});
fsm.InteractionStay("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>", obj => {
if (obj.GetComponent<LinearMapping>().value == 1)
{
fsm.AddScore(2, 2);
fsm.ShowTip(3);
fsm.PlayBgm(3);
fsm.InteractionStay("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>", null);
fsm.Unlight_DisableInteraction("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>");
fsm.PlayClip("<22><><EFBFBD><EFBFBD>2", () => {
fsm.ShowSlider(new UnityEngine.Vector2(-341f, -50f), 90, 0, 20, value => {
fsm.Get("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>").transform.localEulerAngles = new UnityEngine.Vector3(0, -148f, value - 90);
}, value => {
Debug.Log(value);
if (Convert.ToInt32(value) >= 0 && Convert.ToInt32(value) <= 5)
{
fsm.AddScore(2, 3);
}
else
{
fsm.AddScore(0, 3);
}
fsm.ShowTip(4);
fsm.PlayBgm(4);
fsm.PlayClip("<22><><EFBFBD><EFBFBD>3");
fsm.Light_EnableInteraction("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2");
fsm.ShowArrow("<22><><EFBFBD><EFBFBD>ק<EFBFBD><D7A7><EFBFBD><EFBFBD>", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2");
fsm.InteractionDown("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2", args => {
fsm.HideArrow();
fsm.Unlight("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2");
});
});
});
}
});
fsm.InteractionStay("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2", obj => {
if (obj.GetComponent<LinearMapping>().value == 1)
{
fsm.AddScore(2, 4);
fsm.InteractionStay("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2", null);
fsm.Unlight_DisableInteraction("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2");
fsm.nextState = true;
}
});
}
if (fsm.main_gameModel.modeType == ModeType.KaoHe)
{
fsm.ShowCamera("JinZhenState_Camera2");
fsm.ShowTxtQuestion(2, 4, 1, () => {
fsm.ShowTip(0, true);
fsm.PlayClip("<22><><EFBFBD><EFBFBD>", () => {
fsm.ShowTip(1, true);
fsm.PlayBgm(1, true);
fsm.ShowCamera("JinZhenState_Camera2");
fsm.ShowSlider(new UnityEngine.Vector2(-341f, -50f), 90, 0, 45, value => {
fsm.Get("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>").transform.localEulerAngles = new UnityEngine.Vector3(0, -148f, value - 90);
}, value => {
if (Convert.ToInt32(value) >= 15 && Convert.ToInt32(value) <= 30)
{
Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = true });
}
else
{
Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = false });
}
fsm.Get("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>").transform.localEulerAngles = new UnityEngine.Vector3(0, -148f, -70);
fsm.ShowTip(2, true);
fsm.PlayBgm(2, true);
fsm.Light_EnableInteraction("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>", true);
fsm.ShowArrow("<22><><EFBFBD><EFBFBD>ק<EFBFBD><D7A7><EFBFBD><EFBFBD>", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>");
fsm.InteractionDown("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>", args => {
fsm.HideArrow();
fsm.Unlight("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>");
});
});
fsm.ShowArrow("<22><><EFBFBD><EFBFBD>ק<EFBFBD>ǶȽ<C7B6><C8BD><EFBFBD><EFBFBD><EFBFBD>", new UnityEngine.Vector3(-342f, -37.8f));
});
fsm.InteractionStay("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>", obj => {
if (obj.GetComponent<LinearMapping>().value == 1)
{
fsm.HideTip();
fsm.ShowTxtQuestion(3, 4, 2, () => {
fsm.ShowTip(3, true);
fsm.PlayBgm(3, true);
fsm.InteractionStay("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>", null);
fsm.Unlight_DisableInteraction("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>");
fsm.PlayClip("<22><><EFBFBD><EFBFBD>2", () => {
fsm.ShowSlider(new UnityEngine.Vector2(-341f, -50f), 90, 0, 20, value => {
fsm.Get("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>").transform.localEulerAngles = new UnityEngine.Vector3(0, -148f, value - 90);
}, value => {
Debug.Log(value);
if (Convert.ToInt32(value) >= 0 && Convert.ToInt32(value) <= 5)
{
Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = true });
}
else
{
Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = false });
}
fsm.ShowTip(4, true);
fsm.PlayBgm(4, true);
fsm.PlayClip("<22><><EFBFBD><EFBFBD>3");
fsm.Light_EnableInteraction("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2", true);
fsm.ShowArrow("<22><><EFBFBD><EFBFBD>ק<EFBFBD><D7A7><EFBFBD><EFBFBD>", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2");
fsm.InteractionDown("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2", args => {
fsm.HideArrow();
fsm.Unlight("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2");
});
});
});
});
}
});
fsm.InteractionStay("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2", obj => {
if (obj.GetComponent<LinearMapping>().value == 1)
{
fsm.InteractionStay("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2", null);
fsm.Unlight_DisableInteraction("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>2");
fsm.nextState = true;
}
});
});
}
}
public override void OnStateExit()
{
base.OnStateExit();
fsm.HideSlider();
fsm.nextState = false;
}
}
}