Files
plugin-library/Assets/Main/Script/Runtime/kkController/fsm/KKControllerTest.cs
2025-05-23 18:26:47 +08:00

93 lines
2.2 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using Sirenix.OdinInspector;
using Stary.Evo;
using UnityEngine;
namespace Main
{
public class KKControllerTest : MonoBehaviour
{
public GameObject kkController;
public Transform kkGuidePoint;
public Sprite Sprite;
public AudioClip AudioClip;
private KKFsmSystem fsmSystem;
private void Start()
{
fsmSystem = new KKFsmSystem(kkController);
fsmSystem.AddState(new DefaultState(fsmSystem));
fsmSystem.AddState(new KKIdleState(fsmSystem));
fsmSystem.AddState(new KKHintState(fsmSystem));
fsmSystem.AddState(new KKGuideState(fsmSystem));
fsmSystem.AddState(new KKReactState(fsmSystem));
fsmSystem.AddState(new KKTalkState(fsmSystem));
fsmSystem.SetCurState(nameof(DefaultState));
}
private void Update()
{
fsmSystem.CurState.OnUpdate();
}
[Button]
public void IdleIsVoice()
{
fsmSystem.SetCurState(nameof(KKIdleState), (object)KKIdleStateParam.IsVoice);
}
[Button]
public void IdleNotVoice()
{
fsmSystem.SetCurState(nameof(KKIdleState), (object)KKIdleStateParam.NotVoice);
}
[Button]
public void GUide()
{
fsmSystem.SetCurState(nameof(KKGuideState), kkGuidePoint);
}
[Button]
public void HintTrue()
{
fsmSystem.SetCurState(nameof(KKHintState), (object)true);
}
[Button]
public void HintFalse()
{
fsmSystem.SetCurState(nameof(KKHintState), (object)false);
}
[Button]
public void React()
{
fsmSystem.SetCurState(nameof(KKReactState));
}
[Button]
public void Talk()
{
fsmSystem.SetCurState(nameof(KKTalkState), AudioClip, Sprite);
}
[Button]
public void Start1()
{
fsmSystem.SetCurState(nameof(KKIdleState));
}
[Button]
public void End()
{
fsmSystem.SetCurState(nameof(KKIdleState));
}
}
}