Esempio n. 1
0
        public override void OnServerReceive(TransportEventData eventData)
        {
            CentralServerPeerInfo tempPeerInfo;

            switch (eventData.type)
            {
            case ENetworkEvent.ConnectEvent:
                Logging.Log(LogTag, "OnPeerConnected peer.ConnectionId: " + eventData.connectionId);
                ConnectionIds.Add(eventData.connectionId);
                break;

            case ENetworkEvent.DataEvent:
                ReadPacket(eventData.connectionId, eventData.reader);
                break;

            case ENetworkEvent.DisconnectEvent:
                Logging.Log(LogTag, "OnPeerDisconnected peer.ConnectionId: " + eventData.connectionId + " disconnectInfo.Reason: " + eventData.disconnectInfo.Reason);
                ConnectionIds.Remove(eventData.connectionId);
                // Remove disconnect map spawn server
                MapSpawnServerPeers.Remove(eventData.connectionId);
                // Remove disconnect map server
                if (MapServerPeers.TryGetValue(eventData.connectionId, out tempPeerInfo))
                {
                    MapServerPeersByMapId.Remove(tempPeerInfo.extra);
                    MapServerPeersByInstanceId.Remove(tempPeerInfo.extra);
                    MapServerPeers.Remove(eventData.connectionId);
                    RemoveMapUsers(eventData.connectionId);
                }
                break;

            case ENetworkEvent.ErrorEvent:
                Logging.LogError(LogTag, "OnPeerNetworkError endPoint: " + eventData.endPoint + " socketErrorCode " + eventData.socketError + " errorMessage " + eventData.errorMessage);
                break;
            }
        }
Esempio n. 2
0
 protected override void OnStopServer()
 {
     base.OnStopServer();
     MapUsersByCharacterId.Clear();
     ConnectionIdsByCharacterId.Clear();
     ConnectionIdsByCharacterName.Clear();
     MapSpawnServerPeers.Clear();
     MapServerPeers.Clear();
     MapServerPeersByMapId.Clear();
     MapServerPeersByInstanceId.Clear();
 }