private void SetCharList() { NrCharBase[] @char = NrTSingleton <NkCharManager> .Instance.Get_Char(); NrCharBase char2 = NrTSingleton <NkCharManager> .Instance.GetChar(1); int num = 0; this.m_nlbCharList.Clear(); NrCharBase[] array = @char; for (int i = 0; i < array.Length; i++) { NrCharBase nrCharBase = array[i]; if (nrCharBase != null && nrCharBase.GetPersonID() > 0L && char2.GetPersonID() != nrCharBase.GetPersonID()) { if (num >= this.m_nCurPage * this.m_nNumPerPage && num < (this.m_nCurPage + 1) * this.m_nNumPerPage) { NewListItem newListItem = new NewListItem(this.m_nlbCharList.ColumnNum, true, string.Empty); newListItem.SetListItemData(0, nrCharBase.GetCharName(), null, null, null); newListItem.SetListItemData(1, nrCharBase.GetPersonInfo().GetLevel(0L).ToString(), null, null, null); newListItem.Data = nrCharBase.GetCharName(); this.m_nlbCharList.Add(newListItem); this.m_nlbCharList.RepositionItems(); num++; } else { num++; } } } this.m_nTotalPage = num / this.m_nNumPerPage + 1; }
public void Update() { if (NrTSingleton <CMovingServer> .Instance.IsMovingWorld()) { return; } if (this.m_tickCount + 1000L > PublicMethod.GetTick()) { return; } this.m_tickCount = PublicMethod.GetTick(); if (!this.m_bIsActivity) { return; } if (TsPlatform.IsMobile) { if (Scene.CurScene != Scene.Type.SELECTCHAR && Scene.CurScene != Scene.Type.LOGIN) { if (NrTSingleton <NkClientLogic> .Instance.IsLoginGameServer()) { return; } } } if (this.m_eAutoReloginState >= NkAutoRelogin.eAUTORELOGIN_STATE.E_AUTORELOGIN_STATE_WAITING_ENCRYPTKEY && !BaseNet_Game.GetInstance().IsSocketConnected()) { this.m_eAutoReloginState = NkAutoRelogin.eAUTORELOGIN_STATE.E_AUTORELOGIN_STATE_RECONNECTING; } switch (this.m_eAutoReloginState) { case NkAutoRelogin.eAUTORELOGIN_STATE.E_AUTORELOGIN_STATE_DETECT_DISCONNECT: if (BaseNet_Game.GetInstance().IsSocketConnected()) { return; } if (this.bRequestRelogin) { return; } if (!NrTSingleton <FormsManager> .Instance.IsShow(G_ID.WAIT_DLG)) { NrTSingleton <FormsManager> .Instance.LoadForm(G_ID.WAIT_DLG); } this.m_eAutoReloginState = NkAutoRelogin.eAUTORELOGIN_STATE.E_AUTORELOGIN_STATE_RECONNECTING; this.bRequestRelogin = false; if (!NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.IsBackupPersonInfo()) { NrCharBase @char = NrTSingleton <NkCharManager> .Instance.GetChar(1); if (@char != null) { NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.BackupPersonInfo(@char.GetPersonInfo() as NrPersonInfoUser); } } if (TsPlatform.IsMobile && Scene.IsCurScene(Scene.Type.BATTLE)) { NrTSingleton <NkBattleCharManager> .Instance.DeleteAllChar(); } NrTSingleton <FormsManager> .Instance.CloseForm(G_ID.ITEM_BOX_RANDOM_DLG); NrTSingleton <FormsManager> .Instance.CloseForm(G_ID.ITEM_BOX_RARERANDOM_DLG); TsLog.LogWarning("[NkAutoRelogin] Disconnected", new object[0]); SendPacket.GetInstance().SetBlockSendPacket(true); break; case NkAutoRelogin.eAUTORELOGIN_STATE.E_AUTORELOGIN_STATE_RECONNECTING: if (this.bRequestRelogin) { return; } TsLog.LogWarning("[NkAutoRelogin] trying to connect to server", new object[0]); if (TsPlatform.IsMobile && Scene.IsCurScene(Scene.Type.SELECTCHAR)) { MsgHandler.Handle("OnFirstConnectChar", new object[0]); } SendPacket.GetInstance().SetBlockSendPacket(false); if (!NrTSingleton <FormsManager> .Instance.IsShow(G_ID.WAIT_DLG)) { NrTSingleton <FormsManager> .Instance.LoadForm(G_ID.WAIT_DLG); } if (BaseNet_Game.GetInstance().ReConnectServer()) { TsLog.LogWarning("[NkAutoRelogin] server connected", new object[0]); this.m_eAutoReloginState = NkAutoRelogin.eAUTORELOGIN_STATE.E_AUTORELOGIN_STATE_WAITING_ENCRYPTKEY; SendPacket.GetInstance().SetBlockSendPacket(true); } else { NrTSingleton <FormsManager> .Instance.CloseForm(G_ID.WAIT_DLG); TsLog.LogWarning("[NkAutoRelogin] server not connected", new object[0]); if (!Scene.IsCurScene(Scene.Type.BATTLE)) { this.askReconnectionFailed(); SendPacket.GetInstance().SetBlockSendPacket(true); } else if (!NrTSingleton <FormsManager> .Instance.IsShow(G_ID.BATTLE_RESULT_DLG) && !NrTSingleton <FormsManager> .Instance.IsShow(G_ID.BATTLE_RESULT_PLUNDER_DLG)) { this.askReconnectionFailed(); SendPacket.GetInstance().SetBlockSendPacket(true); } else { this.m_eAutoReloginState = NkAutoRelogin.eAUTORELOGIN_STATE.E_AUTORELOGIN_STATE_RECONNECTING; this.bRequestRelogin = false; SendPacket.GetInstance().SetBlockSendPacket(true); } } break; case NkAutoRelogin.eAUTORELOGIN_STATE.E_AUTORELOGIN_STATE_TRYING_RELOGIN: { SendPacket.GetInstance().SetBlockSendPacket(false); if (!NrTSingleton <FormsManager> .Instance.IsShow(G_ID.WAIT_DLG)) { NrTSingleton <FormsManager> .Instance.LoadForm(G_ID.WAIT_DLG); } WS_USER_RELOGIN_REQ wS_USER_RELOGIN_REQ = new WS_USER_RELOGIN_REQ(); wS_USER_RELOGIN_REQ.UID = NrTSingleton <NkCharManager> .Instance.m_kCharAccountInfo.m_UID; wS_USER_RELOGIN_REQ.i64AccountWorldInfoKey = NrTSingleton <NkCharManager> .Instance.m_kCharAccountInfo.m_i64AccountWorldInfoKey; if (TsPlatform.IsMobile && !TsPlatform.IsEditor) { TKString.StringChar(TsPlatform.Operator.GetMobileDeviceId(), ref wS_USER_RELOGIN_REQ.szDeviceToken); } else if (TsPlatform.IsWeb) { TKString.StringChar(string.Empty, ref wS_USER_RELOGIN_REQ.szDeviceToken); } wS_USER_RELOGIN_REQ.i8HP_AuthRequest = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.HP_AuthRequest; SendPacket.GetInstance().SendObject(16777237, wS_USER_RELOGIN_REQ); SendPacket.GetInstance().SetBlockSendPacket(true); this.m_eAutoReloginState = NkAutoRelogin.eAUTORELOGIN_STATE.E_AUTORELOGIN_STATE_WAITING_RELOGIN; TsLog.LogWarning("[NkAutoRelogin] send relogin packet to server", new object[0]); break; } case NkAutoRelogin.eAUTORELOGIN_STATE.E_AUTORELOGIN_STATE_RELOGINED: this.m_eAutoReloginState = NkAutoRelogin.eAUTORELOGIN_STATE.E_AUTORELOGIN_STATE_DETECT_DISCONNECT; if (!Scene.IsCurScene(Scene.Type.SELECTCHAR)) { if (!Scene.IsCurScene(Scene.Type.LOGIN)) { GS_CLIENT_RELOGIN_REQ gS_CLIENT_RELOGIN_REQ = new GS_CLIENT_RELOGIN_REQ(); gS_CLIENT_RELOGIN_REQ.CharState = 0L; SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_CLIENT_RELOGIN_REQ, gS_CLIENT_RELOGIN_REQ); } } break; } }