using System; using KKSG; using UnityEngine; using XUpdater; using XUtliPoolLib; namespace XMainClient { internal class Process_PtcT2C_LoginChallenge { public static void Process(PtcT2C_LoginChallenge roPtc) { bool onReconnect = XSingleton.singleton.XConnect.OnReconnect; if (onReconnect) { RpcC2T_Reconnect rpcC2T_Reconnect = new RpcC2T_Reconnect(); rpcC2T_Reconnect.oArg.session = XSingleton.singleton.Session; rpcC2T_Reconnect.oArg.sceneid = XSingleton.singleton.SceneID; bool flag = XSingleton.singleton.XPlayerData != null; if (flag) { rpcC2T_Reconnect.oArg.roleid = XSingleton.singleton.XPlayerData.RoleID; } XSingleton.singleton.Send(rpcC2T_Reconnect); XSingleton.singleton.AddLog("send Reconnect rpc.", null, null, null, null, null, XDebugColor.XDebug_None); } else { XSingleton.singleton.AddLog("receive challenge, start sync time.", null, null, null, null, null, XDebugColor.XDebug_None); bool flag2 = !string.IsNullOrEmpty(XSingleton.singleton.XLoginToken); if (flag2) { RpcC2T_ClientLoginRequest rpcC2T_ClientLoginRequest = new RpcC2T_ClientLoginRequest(); rpcC2T_ClientLoginRequest.oArg.token = Convert.FromBase64String(XSingleton.singleton.XLoginToken); rpcC2T_ClientLoginRequest.oArg.gameserverid = XSingleton.singleton.ServerID; rpcC2T_ClientLoginRequest.oArg.openid = XSingleton.singleton.OpenID; rpcC2T_ClientLoginRequest.oArg.loginzoneid = XSingleton.singleton.LoginZoneID; RuntimePlatform platform = Application.platform; if ((int)platform != 8) { if ((int)platform != 11) { rpcC2T_ClientLoginRequest.oArg.pc = "0.0.0"; } else { rpcC2T_ClientLoginRequest.oArg.android = XSingleton.singleton.Version; rpcC2T_ClientLoginRequest.oArg.clientInfo = new ClientInfo(); rpcC2T_ClientLoginRequest.oArg.clientInfo.PlatID = XFastEnumIntEqualityComparer.ToInt(PlatType.PLAT_ANDROID); rpcC2T_ClientLoginRequest.oArg.clientInfo.ClientVersion = XSingleton.singleton.Version; rpcC2T_ClientLoginRequest.oArg.clientInfo.LoginChannel = XSingleton.singleton.XPlatform.GetChannelID(); rpcC2T_ClientLoginRequest.oArg.clientInfo.pf = "openmobile_android"; rpcC2T_ClientLoginRequest.oArg.clientInfo.starttype = XSingleton.singleton.GetLaunchType(); rpcC2T_ClientLoginRequest.oArg.clientInfo.logintype = XSingleton.singleton.AccountType; rpcC2T_ClientLoginRequest.oArg.clientInfo.token = XSingleton.singleton.TokenCache; rpcC2T_ClientLoginRequest.oArg.clientInfo.ScreenWidth = Screen.width; rpcC2T_ClientLoginRequest.oArg.clientInfo.ScreenHight = Screen.height; rpcC2T_ClientLoginRequest.oArg.clientInfo.DeviceId = SystemInfo.deviceUniqueIdentifier; rpcC2T_ClientLoginRequest.oArg.clientInfo.SystemHardware = SystemInfo.deviceModel; rpcC2T_ClientLoginRequest.oArg.clientInfo.SystemSoftware = SystemInfo.operatingSystem; rpcC2T_ClientLoginRequest.oArg.clientInfo.Memory = SystemInfo.systemMemorySize; rpcC2T_ClientLoginRequest.oArg.clientInfo.CpuHardware = SystemInfo.processorType + "-" + SystemInfo.processorCount; rpcC2T_ClientLoginRequest.oArg.clientInfo.Network = Application.internetReachability.ToString(); rpcC2T_ClientLoginRequest.oArg.clientInfo.Density = (float)XSingleton.singleton.XPlatform.GetDensity(); rpcC2T_ClientLoginRequest.oArg.clientInfo.TelecomOper = XSingleton.singleton.XPlatform.GetSim(); } } else { rpcC2T_ClientLoginRequest.oArg.ios = XSingleton.singleton.Version; rpcC2T_ClientLoginRequest.oArg.clientInfo = new ClientInfo(); rpcC2T_ClientLoginRequest.oArg.clientInfo.PlatID = XFastEnumIntEqualityComparer.ToInt(PlatType.PLAT_IOS); rpcC2T_ClientLoginRequest.oArg.clientInfo.ClientVersion = XSingleton.singleton.Version; rpcC2T_ClientLoginRequest.oArg.clientInfo.LoginChannel = XSingleton.singleton.XPlatform.GetChannelID(); rpcC2T_ClientLoginRequest.oArg.clientInfo.pf = "openmobile_ios"; rpcC2T_ClientLoginRequest.oArg.clientInfo.starttype = XSingleton.singleton.GetLaunchType(); rpcC2T_ClientLoginRequest.oArg.clientInfo.logintype = XSingleton.singleton.AccountType; rpcC2T_ClientLoginRequest.oArg.clientInfo.token = XSingleton.singleton.TokenCache; rpcC2T_ClientLoginRequest.oArg.clientInfo.ScreenWidth = Screen.width; rpcC2T_ClientLoginRequest.oArg.clientInfo.ScreenHight = Screen.height; rpcC2T_ClientLoginRequest.oArg.clientInfo.DeviceId = SystemInfo.deviceUniqueIdentifier; rpcC2T_ClientLoginRequest.oArg.clientInfo.SystemHardware = SystemInfo.deviceModel; rpcC2T_ClientLoginRequest.oArg.clientInfo.SystemSoftware = SystemInfo.operatingSystem; rpcC2T_ClientLoginRequest.oArg.clientInfo.Memory = SystemInfo.systemMemorySize; rpcC2T_ClientLoginRequest.oArg.clientInfo.CpuHardware = SystemInfo.processorType + "-" + SystemInfo.processorCount; rpcC2T_ClientLoginRequest.oArg.clientInfo.Network = Application.internetReachability.ToString(); rpcC2T_ClientLoginRequest.oArg.clientInfo.Density = (float)XSingleton.singleton.XPlatform.GetDensity(); rpcC2T_ClientLoginRequest.oArg.clientInfo.TelecomOper = XSingleton.singleton.XPlatform.GetSim(); } XSingleton.singleton.Send(rpcC2T_ClientLoginRequest); } XSingleton.singleton.Session = roPtc.Data.session; } } } }