private void OnDisconnect(MobaMessage msg) { PeerDisconnectedMessage peerDisconnectedMessage = msg.Param as PeerDisconnectedMessage; MobaPeerType peerType = peerDisconnectedMessage.PeerType; this.OnDisconnectServer(peerType); }
public void DC_Msg(Il2CppStructArray <byte> messageBytes) { var msg = new PeerDisconnectedMessage(messageBytes); var player = SessionData.playersWithMod.FirstOrDefault(p => p.PeerID == msg.PeerID); if (player != null) { SessionData.Chat.UpdateChatLog($"{player.PlayerName} has left.", "Notification"); SessionData.playersWithMod.Remove(player); return; } SessionData.Chat.UpdateChatLog($"Player {msg.PeerID} has left.", "Notification"); }
protected override void OnDisconnect(PeerDisconnectedMessage msg) { if (msg.PeerType != MobaPeerType.C2GateServer) { return; } if (!this.Available) { return; } this.Available = false; MobaMessageManager.ExecuteMsg(ClientC2C.GateDisconnected, null, 0f); if (this.Enabled && GateReconnection.CanTrigger) { this.ConfirmConnect(); } }
private void OnPeerDisconnected(MobaMessage msg) { PeerDisconnectedMessage peerDisconnectedMessage = msg.Param as PeerDisconnectedMessage; if (peerDisconnectedMessage == null) { return; } NetWorkHelper.ServerType serverType = NetWorkHelper.ServerType.none; switch (peerDisconnectedMessage.PeerType) { case MobaPeerType.C2Master: serverType = NetWorkHelper.ServerType.master; NetWorkHelper.DebugInfo("MasterServer:networkHelper 检测到断线"); break; case MobaPeerType.C2Lobby: serverType = NetWorkHelper.ServerType.lobby; break; case MobaPeerType.C2PvpServer: serverType = NetWorkHelper.ServerType.pvp; break; case MobaPeerType.C2GateServer: serverType = NetWorkHelper.ServerType.Gate; break; } if (this.dicServer.ContainsKey(serverType)) { this.dicServer[serverType].OnDisconnected(peerDisconnectedMessage.DisconnectedType); } if (serverType != NetWorkHelper.ServerType.pvp) { MobaMessageManager.ExecuteMsg(MobaMessageManager.GetMessage((ClientMsg)20002, peerDisconnectedMessage, 0f)); } }
protected abstract void OnDisconnect(PeerDisconnectedMessage msg);