private void UpdateState(PlayerState state) { _state.OnExitState(); _states.TryGetValue(state, out _state); _state.OnEnterState(); StateUpdated.Invoke(_state); }