void DestroyPlayer() { if (m_player == null) { return; } m_player.PlayerDeathEvent -= HandlePlayerDeathEvent; m_player.PlayerDyingEvent -= HandlePlayerDyingEvent; m_player.PlayerScoreEvent -= HandlePlayerScoreEvent; GameObject.Destroy(m_player.gameObject); m_player = null; }
void CreatePlayer() { if (m_player != null) { DestroyPlayer(); } PlaneManager planeManager = Services.Get <PlaneManager>(); m_player = planeManager.InstantiatePlayer(); m_player.PlayerDeathEvent += HandlePlayerDeathEvent; m_player.PlayerDyingEvent += HandlePlayerDyingEvent; m_player.PlayerScoreEvent += HandlePlayerScoreEvent; }