protected override void OnStop() { socket = null; if (api != null) { api.StopAsync(); api = null; } base.OnStop(); OnPlayerConnectEvent.Unregister(HandlePlayerConnect); OnPlayerDisconnectEvent.Unregister(HandlePlayerDisconnect); OnPlayerActionEvent.Unregister(HandlePlayerAction); }
protected override void DoDisconnect(string reason) { disconnecting = true; try { if (api != null) { api.StopAsync(); } socket.Disconnect(); } finally { disconnected = true; UnregisterEvents(); } }