/// <summary> /// /// </summary> /// <param name="netState"></param> /// <param name="packetReader"></param> internal static void CharServerConnected(NetState netState, PacketReader packetReader) { // 错误 不可能有创建 if (netState.ExtendData is CharServerExtendData == true) { return; } else { netState.ExtendData = null; } if (packetReader.Size < 6 /*( 6 + 0 )*/) { return; } // 不检查网络是否活动 netState.IsCheckActivity = false; string l_strWorldPassword = packetReader.ReadStringSafe(); if (l_strWorldPassword == Program.ConfigInfo.WorldPassword) { CharServerExtendData l_ExtendData = new CharServerExtendData(); l_ExtendData.IsLoggedIn = true; netState.ExtendData = l_ExtendData; } }
/// <summary> /// /// </summary> /// <param name="netState"></param> /// <param name="packetReader"></param> internal static void CharServerAction(NetState netState, PacketReader packetReader) { CharServerExtendData l_ExtendData = netState.ExtendData as CharServerExtendData; if (l_ExtendData == null) { Debug.WriteLine("CharPacketHandlers.LoginAction(...) - l_ExtendData == null error!"); return; } if (l_ExtendData.IsLoggedIn == false) { Debug.WriteLine("CharPacketHandlers.LoginAction(...) - l_ExtendData.m_bIsLoggedIn == false error!"); return; } if (packetReader.Size < 7 /*6 + 1 + ?*/) { Debug.WriteLine("CharPacketHandlers.LoginAction(...) - packetReader.Size < 7 error!"); return; } byte l_Action = packetReader.ReadByte(); switch (l_Action) { case 1: // Disconnect Character uint l_iAccountGuid = packetReader.ReadUInt32(); CharServer_Action01(netState, l_iAccountGuid); break; default: break; } }
/// <summary> /// /// </summary> /// <param name="netState"></param> /// <param name="packetReader"></param> internal static void CharServerDisconnectUser(NetState netState, PacketReader packetReader) { CharServerExtendData l_ExtendData = netState.ExtendData as CharServerExtendData; if (l_ExtendData == null) { Debug.WriteLine("CharPacketHandlers.LoginAction(...) - l_ExtendData == null error!"); return; } if (l_ExtendData.IsLoggedIn == false) { Debug.WriteLine("CharPacketHandlers.LoginAction(...) - l_ExtendData.m_bIsLoggedIn == false error!"); return; } if (packetReader.Size < 7 /*6 + 1 + ?*/) { Debug.WriteLine("CharPacketHandlers.LoginAction(...) - packetReader.Size < 7 error!"); return; } uint iAccountGuid = packetReader.ReadUInt32(); NetState l_NetState = ProcessNet.GetClientByAccountGuid(iAccountGuid); if (l_NetState == null) { Debug.WriteLine("CharPacketHandlers.LoginAction_01(...) - l_NetState == null error!"); return; } if (l_NetState.Running) { l_NetState.Dispose(true); } }