public int GetPlunderAttackPosSolNum(eSOL_SUBDATA eSetMode) { int num = 0; NrPersonInfoUser charPersonInfo = NrTSingleton <NkCharManager> .Instance.GetCharPersonInfo(1); if (charPersonInfo == null) { return(num); } NrSoldierList soldierList = charPersonInfo.GetSoldierList(); if (soldierList == null) { return(num); } NkSoldierInfo[] kSolInfo = soldierList.m_kSolInfo; for (int i = 0; i < kSolInfo.Length; i++) { NkSoldierInfo nkSoldierInfo = kSolInfo[i]; if (nkSoldierInfo.GetSolSubData(eSetMode) > 0L) { num++; } } NkReadySolList readySolList = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetReadySolList(); if (readySolList == null) { return(num); } foreach (NkSoldierInfo current in readySolList.GetList().Values) { if (current.GetSolSubData(eSetMode) > 0L) { num++; } } return(num); }
public void SetSolList() { this.m_nlSelectSoldierList.Clear(); this.m_kSolList.Clear(); List <int> list = new List <int>(); list.Clear(); eSOL_SUBDATA eType = eSOL_SUBDATA.SOL_SUBDATA_NONE; NrPersonInfoUser charPersonInfo = NrTSingleton <NkCharManager> .Instance.GetCharPersonInfo(1); if (charPersonInfo == null) { return; } NrSoldierList soldierList = charPersonInfo.GetSoldierList(); if (soldierList == null) { return; } NkReadySolList readySolList = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetReadySolList(); if (readySolList == null) { return; } if (Battle.BATTLE.BattleRoomtype == eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_COLOSSEUM) { eType = eSOL_SUBDATA.SOL_SUBDATA_PVP_BATTLEPOS; NkSoldierInfo[] kSolInfo = soldierList.m_kSolInfo; for (int i = 0; i < kSolInfo.Length; i++) { NkSoldierInfo nkSoldierInfo = kSolInfo[i]; if (nkSoldierInfo.GetSolID() > 0L) { if (nkSoldierInfo.GetSolSubData(eType) > 0L && !list.Contains(nkSoldierInfo.GetCharKind())) { list.Add(nkSoldierInfo.GetCharKind()); } } } foreach (NkSoldierInfo current in readySolList.GetList().Values) { if (current.GetSolID() > 0L) { if (current.GetSolSubData(eType) > 0L && !list.Contains(current.GetCharKind())) { list.Add(current.GetCharKind()); } } } NkSoldierInfo[] kSolInfo2 = soldierList.m_kSolInfo; for (int j = 0; j < kSolInfo2.Length; j++) { NkSoldierInfo nkSoldierInfo2 = kSolInfo2[j]; if (nkSoldierInfo2.GetSolID() > 0L) { if (!list.Contains(nkSoldierInfo2.GetCharKind())) { if (nkSoldierInfo2.GetSolSubData(eType) <= 0L) { this.m_kSolList.Add(nkSoldierInfo2); } } } } foreach (NkSoldierInfo current2 in readySolList.GetList().Values) { if (current2.GetSolID() > 0L) { if (!list.Contains(current2.GetCharKind())) { if (current2.GetSolPosType() != 2) { if (current2.GetSolPosType() != 6) { if (current2.GetSolSubData(eType) <= 0L) { this.m_kSolList.Add(current2); } } } } } } } else if (Battle.BATTLE.BattleRoomtype == eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_BABELTOWER || Battle.BATTLE.BattleRoomtype == eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_GUILD_BOSS || Battle.BATTLE.BattleRoomtype == eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_BOUNTYHUNT || Battle.BATTLE.BattleRoomtype == eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_DAILYDUNGEON) { List <int> babelCharKind = Battle.BATTLE.BabelCharKind; if (babelCharKind == null) { return; } foreach (int current3 in babelCharKind) { list.Add(current3); } NkSoldierInfo[] kSolInfo3 = soldierList.m_kSolInfo; for (int k = 0; k < kSolInfo3.Length; k++) { NkSoldierInfo nkSoldierInfo3 = kSolInfo3[k]; if (nkSoldierInfo3.GetSolID() > 0L) { if (!list.Contains(nkSoldierInfo3.GetCharKind())) { this.m_kSolList.Add(nkSoldierInfo3); } } } foreach (NkSoldierInfo current4 in readySolList.GetList().Values) { if (current4.GetSolID() > 0L) { if (!list.Contains(current4.GetCharKind())) { if (current4.GetSolPosType() != 6) { this.m_kSolList.Add(current4); } } } } } else if (Battle.BATTLE.BattleRoomtype == eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_MYTHRAID) { List <long> babelBattleSolList = Battle.BATTLE.BabelBattleSolList; if (babelBattleSolList == null) { return; } NkSoldierInfo[] kSolInfo4 = soldierList.m_kSolInfo; for (int l = 0; l < kSolInfo4.Length; l++) { NkSoldierInfo nkSoldierInfo4 = kSolInfo4[l]; if (nkSoldierInfo4.GetSolID() > 0L) { if (!babelBattleSolList.Contains(nkSoldierInfo4.GetSolID())) { if (!NrTSingleton <NkBattleCharManager> .Instance.IsSameKindSolInBattle(nkSoldierInfo4.GetCharKind())) { this.m_kSolList.Add(nkSoldierInfo4); } } } } foreach (NkSoldierInfo current5 in readySolList.GetList().Values) { if (current5.GetSolID() > 0L) { if (!babelBattleSolList.Contains(current5.GetSolID())) { if (!NrTSingleton <NkBattleCharManager> .Instance.IsSameKindSolInBattle(current5.GetCharKind())) { if (current5.GetSolPosType() != 6) { this.m_kSolList.Add(current5); } } } } } } else { NkSoldierInfo[] kSolInfo5 = soldierList.m_kSolInfo; for (int m = 0; m < kSolInfo5.Length; m++) { NkSoldierInfo nkSoldierInfo5 = kSolInfo5[m]; if (nkSoldierInfo5.GetSolID() > 0L) { list.Add(nkSoldierInfo5.GetCharKind()); } } foreach (NkSoldierInfo current6 in readySolList.GetList().Values) { if (!current6.IsInjuryStatus()) { if (current6.GetSolID() > 0L) { if (current6.GetSolPosType() != 6) { if (!list.Contains(current6.GetCharKind())) { this.m_kSolList.Add(current6); } } } } } } this.m_kSolList.Sort(new Comparison <NkSoldierInfo>(this.CompareCombatPower)); foreach (NkSoldierInfo current7 in this.m_kSolList) { if (!current7.IsInjuryStatus()) { if (current7.GetSolID() > 0L) { if (!this.IsMyMainHeroKind(current7.GetCharKind())) { if (!current7.IsSolStatus(4) || Battle.BATTLE.BattleRoomtype == eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_MYTHRAID) { NewListItem newListItem = new NewListItem(this.m_nlSelectSoldierList.ColumnNum, true, string.Empty); newListItem.Data = current7.GetSolID(); NkListSolInfo nkListSolInfo = new NkListSolInfo(); nkListSolInfo.SolCharKind = current7.GetCharKind(); nkListSolInfo.SolGrade = (int)current7.GetGrade(); nkListSolInfo.SolLevel = current7.GetLevel(); nkListSolInfo.FightPower = current7.GetSolSubData(eSOL_SUBDATA.SOL_SUBDATA_FIGHTINGPOWER); nkListSolInfo.ShowLevel = false; nkListSolInfo.SolCostumePortraitPath = NrTSingleton <NrCharCostumeTableManager> .Instance.GetCostumePortraitPath(current7); if (NrTSingleton <NrCharKindInfoManager> .Instance.GetCharKindInfo(current7.GetCharKind()) != null) { nkListSolInfo.ShowCombat = true; EVENT_HERODATA eventHeroCharCode = NrTSingleton <NrTableEvnetHeroManager> .Instance.GetEventHeroCharCode(current7.GetCharKind(), current7.GetGrade()); if (eventHeroCharCode != null) { newListItem.SetListItemData(0, "Win_I_EventSol", null, null, null); } else { UIBaseInfoLoader legendFrame = NrTSingleton <NrCharKindInfoManager> .Instance.GetLegendFrame(current7.GetCharKind(), (int)current7.GetGrade()); if (legendFrame != null) { newListItem.SetListItemData(0, legendFrame, null, null, null); } else { newListItem.SetListItemData(0, true); } } newListItem.SetListItemData(1, nkListSolInfo, current7, null, null); string empty = string.Empty; NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[] { NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1435"), "charname", current7.GetName() }); newListItem.SetListItemData(2, empty, null, null, null); NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[] { NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1031"), "count", current7.GetLevel() }); newListItem.SetListItemData(3, empty, null, null, null); this.m_nlSelectSoldierList.Add(newListItem); } } } } } } this.m_nlSelectSoldierList.RepositionItems(); }
private void OnCompleteBatch(object a_oObject) { byte nMode = 0; long nObjBatch = 0L; eSOL_SUBDATA eSOL_SUBDATA = eSOL_SUBDATA.SOL_SUBDATA_STATUSVALUE; if (SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_ATTACK_MAKEUP) { StageWorld.BATCH_MODE = eSOLDIER_BATCH_MODE.MODE_ATTACK_MAKEUP; nMode = 0; eSOL_SUBDATA = eSOL_SUBDATA.SOL_SUBDATA_ATTACK_BATTLEPOS; } else if (SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_DEFENCE_MAKEUP) { StageWorld.BATCH_MODE = eSOLDIER_BATCH_MODE.MODE_DEFENCE_MAKEUP; nMode = 1; nObjBatch = SoldierBatch.SOLDIERBATCH.GetObjectDataToSubData().nSubData; eSOL_SUBDATA = eSOL_SUBDATA.SOL_SUBDATA_DEFENCE_BATTLEPOS; } else if (SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_PVP_MAKEUP) { StageWorld.BATCH_MODE = eSOLDIER_BATCH_MODE.MODE_PVP_MAKEUP; nMode = 2; eSOL_SUBDATA = eSOL_SUBDATA.SOL_SUBDATA_PVP_BATTLEPOS; } else if (SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_ATTACK_INFIBATTLE_MAKEUP || SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_DEFENSE_INFIBATTLE_MAKEUP) { StageWorld.BATCH_MODE = eSOLDIER_BATCH_MODE.MODE_ATTACK_INFIBATTLE_MAKEUP; nMode = 3; eSOL_SUBDATA = eSOL_SUBDATA.SOL_SUBDATA_ATTACK_INFIBATTLE; } else if (SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_PRACTICE_INFIBATTLE) { StageWorld.BATCH_MODE = eSOLDIER_BATCH_MODE.MODE_ATTACK_INFIBATTLE_MAKEUP; nMode = 5; eSOL_SUBDATA = eSOL_SUBDATA.SOL_SUBDATA_ATTACK_INFIBATTLE; } else if (SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_PVP_MAKEUP2) { SoldierBatch.SOLDIERBATCH.SavePvpMakeup2SolInfo(); NrTSingleton <NkClientLogic> .Instance.SetClearMiddleStage(); StageWorld.BATCH_MODE = eSOLDIER_BATCH_MODE.MODE_PVP_MAKEUP2; nMode = 6; } GS_PLUNDER_SET_SOLMAKEUP_REQ gS_PLUNDER_SET_SOLMAKEUP_REQ = new GS_PLUNDER_SET_SOLMAKEUP_REQ(); gS_PLUNDER_SET_SOLMAKEUP_REQ.m_nMode = nMode; gS_PLUNDER_SET_SOLMAKEUP_REQ.m_nObjBatch = nObjBatch; if (SoldierBatch.SOLDIER_BATCH_MODE != eSOLDIER_BATCH_MODE.MODE_PVP_MAKEUP2) { NrPersonInfoUser charPersonInfo = NrTSingleton <NkCharManager> .Instance.GetCharPersonInfo(1); if (charPersonInfo == null) { return; } Dictionary <int, long> dictionary = new Dictionary <int, long>(); int num = 0; NrSoldierList soldierList = charPersonInfo.GetSoldierList(); if (soldierList == null) { return; } NkSoldierInfo[] kSolInfo = soldierList.m_kSolInfo; for (int i = 0; i < kSolInfo.Length; i++) { NkSoldierInfo nkSoldierInfo = kSolInfo[i]; if (nkSoldierInfo.GetSolSubData(eSOL_SUBDATA) > 0L) { gS_PLUNDER_SET_SOLMAKEUP_REQ.m_nSolID[num] = nkSoldierInfo.GetSolID(); gS_PLUNDER_SET_SOLMAKEUP_REQ.m_nSolSubData[num] = nkSoldierInfo.GetSolSubData(eSOL_SUBDATA); if (eSOL_SUBDATA == eSOL_SUBDATA.SOL_SUBDATA_PVP_BATTLEPOS) { if (dictionary.ContainsKey(nkSoldierInfo.GetCharKind())) { return; } dictionary.Add(nkSoldierInfo.GetCharKind(), nkSoldierInfo.GetSolID()); } num++; } } NkReadySolList readySolList = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetReadySolList(); if (readySolList == null) { return; } foreach (NkSoldierInfo current in readySolList.GetList().Values) { if (current.GetSolSubData(eSOL_SUBDATA) > 0L) { gS_PLUNDER_SET_SOLMAKEUP_REQ.m_nSolID[num] = current.GetSolID(); gS_PLUNDER_SET_SOLMAKEUP_REQ.m_nSolSubData[num] = current.GetSolSubData(eSOL_SUBDATA); if (eSOL_SUBDATA == eSOL_SUBDATA.SOL_SUBDATA_PVP_BATTLEPOS) { if (dictionary.ContainsKey(current.GetCharKind())) { return; } dictionary.Add(current.GetCharKind(), current.GetSolID()); } num++; } } } else { Dictionary <int, long> dictionary2 = new Dictionary <int, long>(); int num2 = 0; NrMyCharInfo myCharInfo = NrTSingleton <NkCharManager> .Instance.GetMyCharInfo(); if (myCharInfo == null) { return; } for (int j = 0; j < 3; j++) { long charSubData = myCharInfo.GetCharSubData(eCHAR_SUBDATA.CHAR_SUBDATA_COLOSSEUMBATCH1 + j); if (charSubData != 0L) { SUBDATA_UNION sUBDATA_UNION = default(SUBDATA_UNION); sUBDATA_UNION.nSubData = charSubData; int n32SubData_ = sUBDATA_UNION.n32SubData_0; int n32SubData_2 = sUBDATA_UNION.n32SubData_1; byte b = 0; byte b2 = 0; SoldierBatch.GetCalcBattlePos((long)n32SubData_, ref b, ref b2); if (b2 >= 0 && b2 < 9) { if (n32SubData_2 > 0) { if (dictionary2.ContainsKey(n32SubData_2)) { return; } dictionary2.Add(n32SubData_2, (long)n32SubData_2); gS_PLUNDER_SET_SOLMAKEUP_REQ.m_nSolID[num2] = (long)n32SubData_2; gS_PLUNDER_SET_SOLMAKEUP_REQ.m_nSolSubData[num2] = charSubData; num2++; } } } } } SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_PLUNDER_SET_SOLMAKEUP_REQ, gS_PLUNDER_SET_SOLMAKEUP_REQ); NrTSingleton <NkClientLogic> .Instance.SetClearMiddleStage(); }