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

150 lines
6.8 KiB
C#

using FSM;
using System;
using UnityEngine;
using ZXKFramework;
namespace YiLiao.JingMaiLiuZhiZhen
{
public class TiaoJieDiSuState : FsmState<FSMManager>
{
public override void OnStateEnter()
{
base.OnStateEnter();
if(fsm.main_gameModel.modeType == ModeType.KaoHe)
{
fsm.ShowTxtQuestion(5, 4, 1, () =>
{
fsm.ShowCamera("TiaoJieDiSuState_Camera");
fsm.ShowTip(0, true);
fsm.PlayClip("调节滴速", () => {
fsm.ShowTip(1, true);
fsm.PlayBgm(1, true);
fsm.ShowCamera("TiaoJieDiSuState_Camera2");
fsm.ShowSlider(new UnityEngine.Vector2(-93f, -50f), 100, 0, 0, value => {
fsm.Get("滴速调节器").transform.localPosition = new UnityEngine.Vector3(-(value - 50) * 0.000308f, 0, -0.00401f);
if (Convert.ToInt32(value) == 0)
{
fsm.Get("慢").SetActive(false);
fsm.Get("中").SetActive(false);
fsm.Get("快").SetActive(false);
}
if (Convert.ToInt32(value) >= 55 && Convert.ToInt32(value) <= 80)
{
fsm.Get("慢").SetActive(false);
if (!fsm.Get("中").activeSelf)
{
fsm.Get("中").SetActive(true);
}
fsm.Get("快").SetActive(false);
}
if (Convert.ToInt32(value) < 55)
{
if (!fsm.Get("慢").activeSelf)
{
fsm.Get("慢").SetActive(true);
}
fsm.Get("中").SetActive(false);
fsm.Get("快").SetActive(false);
}
if (Convert.ToInt32(value) > 80)
{
fsm.Get("慢").SetActive(false);
fsm.Get("中").SetActive(false);
if (!fsm.Get("快").activeSelf)
{
fsm.Get("快").SetActive(true);
}
}
}, value => {
if (Convert.ToInt32(value) >= 55 && Convert.ToInt32(value) <= 80)
{
Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = true });
}
else
{
Game.Instance.eventManager.Raise(new PlayTrueOrFalseEvent() { isTrue = false });
}
fsm.Get("滴速调节器").transform.localPosition = new UnityEngine.Vector3(0, 0, -0.00401f);
fsm.Get("慢").SetActive(false);
fsm.Get("中").SetActive(true);
fsm.Get("快").SetActive(false);
fsm.nextState = true;
});
fsm.ShowArrow("请拖拽滴速进度条", new UnityEngine.Vector3(-90f, -260f));
});
});
}
if (fsm.main_gameModel.modeType == ModeType.ShiXun)
{
fsm.ShowCamera("TiaoJieDiSuState_Camera");
fsm.ShowTip(0, true);
fsm.PlayClip("调节滴速", () => {
fsm.ShowTip(1, true);
fsm.PlayBgm(1, true);
fsm.ShowCamera("TiaoJieDiSuState_Camera2");
fsm.ShowSlider(new UnityEngine.Vector2(-93f, -50f), 100, 0, 0, value => {
fsm.Get("滴速调节器").transform.localPosition = new UnityEngine.Vector3(-(value - 50) * 0.000308f, 0, -0.00401f);
if (Convert.ToInt32(value) == 0)
{
fsm.Get("慢").SetActive(false);
fsm.Get("中").SetActive(false);
fsm.Get("快").SetActive(false);
}
if (Convert.ToInt32(value) >= 55 && Convert.ToInt32(value) <= 80)
{
fsm.Get("慢").SetActive(false);
if (!fsm.Get("中").activeSelf)
{
fsm.Get("中").SetActive(true);
}
fsm.Get("快").SetActive(false);
}
if (Convert.ToInt32(value) < 55)
{
if (!fsm.Get("慢").activeSelf)
{
fsm.Get("慢").SetActive(true);
}
fsm.Get("中").SetActive(false);
fsm.Get("快").SetActive(false);
}
if (Convert.ToInt32(value) > 80)
{
fsm.Get("慢").SetActive(false);
fsm.Get("中").SetActive(false);
if (!fsm.Get("快").activeSelf)
{
fsm.Get("快").SetActive(true);
}
}
}, value => {
if (Convert.ToInt32(value) >= 55 && Convert.ToInt32(value) <= 80)
{
fsm.AddScore(2, 1);
}
else
{
fsm.AddScore(0, 1);
}
fsm.Get("滴速调节器").transform.localPosition = new UnityEngine.Vector3(0, 0, -0.00401f);
fsm.Get("慢").SetActive(false);
fsm.Get("中").SetActive(true);
fsm.Get("快").SetActive(false);
fsm.nextState = true;
});
fsm.ShowArrow("请拖拽滴速进度条", new UnityEngine.Vector3(-90f, -260f));
});
}
}
public override void OnStateStay()
{
base.OnStateStay();
}
public override void OnStateExit()
{
base.OnStateExit();
fsm.nextState = false;
}
}
}