protected override void OnAfterStop() { base.OnAfterStop(); ILoop loop = (ILoop)m_gameServer; loop.Destroy(); m_gameServer.LoggedIn -= OnLoggedIn; m_gameServer.LoggedOff -= OnLoggedOff; m_gameServer.RoomsListChanged -= OnRoomsListChanged; m_gameServer.JoinedRoom -= OnJoinRoom; m_gameServer.LeftRoom -= OnLeftRoom; m_gameServer.RoomDestroyed -= OnRoomDestoryed; m_gameServer.ReadyToLaunch -= OnReadyToLaunch; m_gameServer.Launched -= OnLaunched; m_gameServer.ChatMessage -= OnChatMessage; m_gameServer = null; }
protected override void OnAfterStop() { base.OnAfterStop(); if (m_matchServer != null) { m_matchServer.Tick -= OnTick; m_matchServer.ReadyToPlayAll -= OnReadyToPlayAll; m_matchServer.Paused -= OnPaused; m_matchServer.Ping -= OnPing; m_matchServer.ChatMessage -= OnChatMessage; m_matchServer = null; } if (m_gameLoop != null) { m_gameLoop.Destroy(); m_gameLoop = null; } }