namespace DDD { public class PlayerStateMachine { private IStateMachine _currentStateMachine; public void ChangeState(IStateMachine newStateMachine) { _currentStateMachine?.Exit(); _currentStateMachine = newStateMachine; _currentStateMachine.Enter(); } public void Update() { _currentStateMachine?.Update(); } } }