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)); } } }