public void On_ClickCombination(IUIObject a_cObject) { SolCombination_Dlg solCombination_Dlg = NrTSingleton <FormsManager> .Instance.LoadForm(G_ID.SOLCOMBINATION_DLG) as SolCombination_Dlg; if (solCombination_Dlg == null) { Debug.LogError("ERROR, SolGuide_Dlg.cs, On_ClickCombination(), SolCombination_Dlg is Null"); return; } if (SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_MINE_MAKEUP) { solCombination_Dlg.MakeCombinationSolUI(NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetOwnBattleMinePossibleKindList(), -1); } else if (SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_NEWEXPLORATION) { PlunderSolListDlg plunderSolListDlg = NrTSingleton <FormsManager> .Instance.GetForm(G_ID.PLUNDERSOLLIST_DLG) as PlunderSolListDlg; if (plunderSolListDlg != null) { solCombination_Dlg.MakeCombinationSolUI(SoldierBatch_SolList.GetSolKindList(eSOLDIER_BATCH_MODE.MODE_NEWEXPLORATION), -1); } } else { solCombination_Dlg.MakeCombinationSolUI(NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetOwnBattleReadyAndReadySolKindList(), -1); } }
public bool IsValidBattlePos(clTempBattlePos pos) { if (pos == null || pos.m_nSolID <= 0L || pos.m_nCharKind <= 0 || pos.m_nBattlePos <= 0) { return(false); } NkSoldierInfo soldierInfoBySolID = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetSoldierInfoBySolID(pos.m_nSolID); return(!SoldierBatch_SolList.IsNotExcludeSol(soldierInfoBySolID, eSOLDIER_BATCH_MODE.MODE_NEWEXPLORATION)); }
public bool SetAutoBatch() { this.m_BattlePos = this.LoadSoldierBatch(); this.ResetInvalidArray(); clTempBattlePos[] autoBatchPos = SoldierBatch_SolList.GetAutoBatchPos(5, eSOLDIER_BATCH_MODE.MODE_NEWEXPLORATION, this.m_BattlePos); if (autoBatchPos == null) { return(false); } this.m_BattlePos = autoBatchPos; return(true); }
public static List <int> GetSolKindList(eSOLDIER_BATCH_MODE eSoldierBatchMode) { List <int> list = new List <int>(); List <NkSoldierInfo> solList = SoldierBatch_SolList.GetSolList(eSoldierBatchMode); if (solList == null) { return(list); } foreach (NkSoldierInfo current in solList) { list.Add(current.GetCharKind()); } return(list); }
public static void AutoBatch() { clTempBattlePos[] autoBatchPos = SoldierBatch_SolList.GetAutoBatchPos(SoldierBatch_AutoBatchTool.GetMaxBatchCount(), SoldierBatch.SOLDIER_BATCH_MODE, null); if (autoBatchPos == null) { return; } Queue <long> queue = new Queue <long>(); for (int i = 0; i < autoBatchPos.Length; i++) { queue.Enqueue(autoBatchPos[i].m_nSolID); } SoldierBatch_AutoBatchTool.BatchSoldiers(queue); }
public void YesClick_CompleteCombination(object obj) { SolCombinationInfo_Data solCombinationInfo_Data = (SolCombinationInfo_Data)obj; if (solCombinationInfo_Data == null) { return; } Queue <long> queue = new Queue <long>(); List <string> solCombinationCharCodeList = solCombinationInfo_Data.GetSolCombinationCharCodeList(); foreach (string current in solCombinationCharCodeList) { int charKindByCode = NrTSingleton <NrCharKindInfoManager> .Instance.GetCharKindByCode(current); long num = 0L; if (SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_MINE_MAKEUP) { num = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetBestPowerSoldierID_InMineBattlePossibleSol(charKindByCode); } else if (SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_NEWEXPLORATION) { List <NkSoldierInfo> solList = SoldierBatch_SolList.GetSolList(eSOLDIER_BATCH_MODE.MODE_NEWEXPLORATION); if (solList != null) { foreach (NkSoldierInfo current2 in solList) { if (current2.GetCharKind() == charKindByCode) { num = current2.GetSolID(); break; } } } } else { num = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetBestPowerSoldierID_InBattleReadyAndReadySol(charKindByCode); } if (num != 0L) { queue.Enqueue(num); } } SoldierBatch_AutoBatchTool.BatchSoldiers(queue); }
public bool IsEmptyOrDieSol() { int num = 0; for (int i = 0; i < this.m_BattlePos.Length; i++) { if (this.m_BattlePos[i] != null && this.m_BattlePos[i].m_nSolID > 0L && this.m_BattlePos[i].m_nCharKind > 0 && this.m_BattlePos[i].m_nBattlePos > 0) { NkSoldierInfo soldierInfoBySolID = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetSoldierInfoBySolID(this.m_BattlePos[i].m_nSolID); if (SoldierBatch_SolList.IsNotExcludeSol(soldierInfoBySolID, eSOLDIER_BATCH_MODE.MODE_NEWEXPLORATION)) { return(false); } num++; } } return(num > 0); }
public void OnClickStart(IUIObject obj) { if (NrTSingleton <NewExplorationManager> .Instance.GetPlayState() == eNEWEXPLORATION_PLAYSTATE.eNEWEXPLORATION_PLAYSTATE_END) { Main_UI_SystemMessage.ADDMessage(NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("881"), SYSTEM_MESSAGE_TYPE.NAGATIVE_MESSAGE); return; } if (!NrTSingleton <NewExplorationManager> .Instance.CanPlay(this.m_bFloor, this.m_bSubFloor)) { Main_UI_SystemMessage.ADDMessage(NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("882"), SYSTEM_MESSAGE_TYPE.NAGATIVE_MESSAGE); return; } clTempBattlePos[] autoBatchPos = SoldierBatch_SolList.GetAutoBatchPos(5, eSOLDIER_BATCH_MODE.MODE_NEWEXPLORATION, null); if (autoBatchPos == null || autoBatchPos.Length <= 0) { Main_UI_SystemMessage.ADDMessage(NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("889"), SYSTEM_MESSAGE_TYPE.IMPORTANT_MESSAGE); return; } GS_NEWEXPLORATION_STAGE_CHALLENGE_REQ gS_NEWEXPLORATION_STAGE_CHALLENGE_REQ = new GS_NEWEXPLORATION_STAGE_CHALLENGE_REQ(); gS_NEWEXPLORATION_STAGE_CHALLENGE_REQ.i8Floor = this.m_bFloor; gS_NEWEXPLORATION_STAGE_CHALLENGE_REQ.i8SubFloor = this.m_bSubFloor; SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_NEWEXPLORATION_STAGE_CHALLENGE_REQ, gS_NEWEXPLORATION_STAGE_CHALLENGE_REQ); }
public static List <NkSoldierInfo> GetSolList(eSOLDIER_BATCH_MODE eSoldierBatchMode) { List <NkSoldierInfo> list = new List <NkSoldierInfo>(); List <NkSoldierInfo> list2 = new List <NkSoldierInfo>(); List <NkSoldierInfo> list3 = new List <NkSoldierInfo>(); int num = 0; NrPersonInfoUser charPersonInfo = NrTSingleton <NkCharManager> .Instance.GetCharPersonInfo(1); if (charPersonInfo == null) { return(new List <NkSoldierInfo>()); } NrSoldierList soldierList = charPersonInfo.GetSoldierList(); if (soldierList == null) { return(new List <NkSoldierInfo>()); } NkSoldierInfo[] kSolInfo = soldierList.m_kSolInfo; for (int i = 0; i < kSolInfo.Length; i++) { NkSoldierInfo nkSoldierInfo = kSolInfo[i]; if (eSoldierBatchMode == eSOLDIER_BATCH_MODE.MODE_MINE_MAKEUP || eSoldierBatchMode == eSOLDIER_BATCH_MODE.MODE_EXPEDITION_MAKEUP) { break; } if (!SoldierBatch_SolList.IsNotExcludeSol(nkSoldierInfo, eSoldierBatchMode)) { if (nkSoldierInfo.IsLeader()) { list.Add(nkSoldierInfo); } else { NrCharKindInfo charKindInfo = NrTSingleton <NrCharKindInfoManager> .Instance.GetCharKindInfo(nkSoldierInfo.GetCharKind()); if (charKindInfo != null && nkSoldierInfo.GetLevel() >= 50) { list2.Add(nkSoldierInfo); } else { list3.Add(nkSoldierInfo); } } } } NkReadySolList readySolList = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetReadySolList(); if (readySolList == null) { return(new List <NkSoldierInfo>()); } foreach (NkSoldierInfo current in readySolList.GetList().Values) { if (!SoldierBatch_SolList.IsNotExcludeSol(current, eSoldierBatchMode)) { if (current.IsLeader()) { list.Add(current); } else { NrCharKindInfo charKindInfo2 = NrTSingleton <NrCharKindInfoManager> .Instance.GetCharKindInfo(current.GetCharKind()); if (charKindInfo2 != null && current.GetLevel() >= 50) { list2.Add(current); } else { list3.Add(current); } } num++; } } list2.Sort(new Comparison <NkSoldierInfo>(SoldierBatch_SolList.ComparePower)); list3.Sort(new Comparison <NkSoldierInfo>(SoldierBatch_SolList.CompareLevel)); for (int j = 0; j < list2.Count; j++) { list.Add(list2[j]); } for (int k = 0; k < list3.Count; k++) { list.Add(list3[k]); } return(list); }
public static clTempBattlePos[] GetAutoBatchPos(int maxCount, eSOLDIER_BATCH_MODE eSoldierBatchMode, clTempBattlePos[] battlePos = null) { if (battlePos == null) { battlePos = new clTempBattlePos[maxCount]; } int num = SoldierBatch_SolList.GetSolCount(battlePos, maxCount); if (num >= maxCount) { return(battlePos); } List <NkSoldierInfo> solList = SoldierBatch_SolList.GetSolList(eSoldierBatchMode); if (solList.Count == 0) { return(null); } foreach (NkSoldierInfo current in solList) { if (num >= maxCount) { clTempBattlePos[] result = battlePos; return(result); } int emptyArrayIndex = SoldierBatch_SolList.GetEmptyArrayIndex(battlePos, maxCount); if (emptyArrayIndex < 0) { clTempBattlePos[] result = battlePos; return(result); } bool flag = true; for (int i = 0; i < maxCount; i++) { if (battlePos[i] != null) { if (battlePos[i].m_nSolID == current.GetSolID() || battlePos[i].m_nCharKind == current.GetCharKind()) { flag = false; break; } } } if (flag) { byte b = 0; while ((int)b < maxCount) { bool flag2 = true; for (int j = 0; j < maxCount; j++) { if (battlePos[j] != null && battlePos[j].m_nBattlePos == b) { flag2 = false; break; } } if (flag2) { break; } b += 1; } battlePos[emptyArrayIndex] = new clTempBattlePos(); battlePos[emptyArrayIndex].m_nSolID = current.GetSolID(); battlePos[emptyArrayIndex].m_nCharKind = current.GetCharKind(); battlePos[emptyArrayIndex].m_nBattlePos = b; num++; } } return(battlePos); }