BLOODJOE/Assets/Scripts/State/StateMachine.cs
2025-08-20 23:05:33 -05:00

25 lines
551 B
C#

using System;
using UnityEngine;
namespace State
{
public class StateMachine : MonoBehaviour
{
public event Action<GameState> OnStateChange;
public GameState CurrentState { get; protected set; }
public void ChangeState(GameState newState)
{
CurrentState?.OnExit();
CurrentState = newState;
CurrentState?.OnEnter(this);
OnStateChange?.Invoke(CurrentState);
}
private void Update()
{
CurrentState?.Update();
}
}
}