public void ChangeState(BoardState state) { _currentState?.OnExitState(); _currentState = _states[(int)state]; CurrentState.Value = state; _currentState.OnEnterState(); }