FSM 작성중

This commit is contained in:
Mingu Kim
2025-08-11 03:16:36 +09:00
parent a1539b2ec8
commit 0ef120a766
3 changed files with 81 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
using UnityEngine;
public class StateMachine
{
private Animator animator;
private IState _state;
private PlayerMove _playerBase;
// private TextMeshProUGUI _textState;
public StateMachine(IState state, PlayerMove playerMove)
{
// 초기 상태 객체 생성
_playerBase = playerMove;;
_state = state;
_state.Enter();
}
public void Update()
{
_state.Update();
var newState = _state.CheckTransition();
if (_state != newState)
{
_state.Exit();
SetTransition(newState);
}
}
public void SetTransition(IState state)
{
// 다음음 상태로 전환
_state = state;
_state.Enter();
}
}
public interface IState
{
void Enter();
void Update();
void Exit();
// 트리거 조건일 경우 다음 상태로 전환
IState CheckTransition();
}