Exemplo n.º 1
0
    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);
        }
    }
Exemplo n.º 2
0
    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));
    }
Exemplo n.º 3
0
 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);
        }
Exemplo n.º 7
0
    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);
    }
Exemplo n.º 8
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);
    }
Exemplo n.º 10
0
    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);
    }