Esempio n. 1
0
    public void GetColosseumBatchKind()
    {
        int          num        = 0;
        NrMyCharInfo myCharInfo = NrTSingleton <NkCharManager> .Instance.GetMyCharInfo();

        if (myCharInfo == null)
        {
            return;
        }
        for (int i = 0; i < 3; i++)
        {
            long charSubData = myCharInfo.GetCharSubData(eCHAR_SUBDATA.CHAR_SUBDATA_COLOSSEUMBATCH1 + i);
            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 && myCharInfo.IsEnableBatchColosseumSoldier(n32SubData_2))
                    {
                        this.m_arColosseumBatchCharKind[num] = n32SubData_2;
                        num++;
                    }
                }
            }
        }
    }
Esempio n. 2
0
    private void OnCompleteBatch_DailyDungeon(object a_oObject)
    {
        if (SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_DAILYDUNGEON)
        {
            SoldierBatch.SOLDIERBATCH.Save_DailyDungeonBatchSolInfo();
        }
        clTempBattlePos[] tempBattlePosInfo = SoldierBatch.SOLDIERBATCH.GetTempBattlePosInfo();
        GS_CHARACTER_DAILYDUNGEON_SET_REQ gS_CHARACTER_DAILYDUNGEON_SET_REQ = new GS_CHARACTER_DAILYDUNGEON_SET_REQ();

        gS_CHARACTER_DAILYDUNGEON_SET_REQ.i8Diff       = SoldierBatch.DailyDungeonDifficulty;
        gS_CHARACTER_DAILYDUNGEON_SET_REQ.i32DayOfWeek = (int)NrTSingleton <DailyDungeonManager> .Instance.GetDayOfWeek();

        gS_CHARACTER_DAILYDUNGEON_SET_REQ.i8IsReset = 0;
        int num = 0;

        for (int i = 0; i < 9; i++)
        {
            if (tempBattlePosInfo[i].m_nSolID > 0L)
            {
                gS_CHARACTER_DAILYDUNGEON_SET_REQ.clSolBatchPosInfo[num].SolID = tempBattlePosInfo[i].m_nSolID;
                byte b          = 0;
                byte nBattlePos = 0;
                SoldierBatch.GetCalcBattlePos((long)tempBattlePosInfo[i].m_nBattlePos, ref b, ref nBattlePos);
                gS_CHARACTER_DAILYDUNGEON_SET_REQ.clSolBatchPosInfo[num].nBattlePos = nBattlePos;
                num++;
            }
        }
        gS_CHARACTER_DAILYDUNGEON_SET_REQ.nCombinationUnique = NrTSingleton <SolCombination_BatchSelectInfoManager> .Instance.GetUserSelectedUniqeKey(0);

        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_CHARACTER_DAILYDUNGEON_SET_REQ, gS_CHARACTER_DAILYDUNGEON_SET_REQ);
    }
Esempio n. 3
0
    public bool Send_GS_NEWEXPLORATION_START_REQ()
    {
        if (!this.CanPlay(this.GetFloor(), this.GetSubFloor()))
        {
            return(false);
        }
        if (!this.IsEmptyOrDieSol())
        {
            if (this.m_bIfDie_StopAutoBattle)
            {
                return(false);
            }
            if (!this.SetAutoBatch())
            {
                return(false);
            }
        }
        this.UpdateBattleSpeed();
        GS_NEWEXPLORATION_START_REQ gS_NEWEXPLORATION_START_REQ = new GS_NEWEXPLORATION_START_REQ();

        gS_NEWEXPLORATION_START_REQ.i8Floor              = this.GetFloor();
        gS_NEWEXPLORATION_START_REQ.i8SubFloor           = this.GetSubFloor();
        gS_NEWEXPLORATION_START_REQ.bOnBattleSpeed       = this.m_bBattleSpeedCheck;
        gS_NEWEXPLORATION_START_REQ.i32CombinationUnique = NrTSingleton <SolCombination_BatchSelectInfoManager> .Instance.GetUserSelectedUniqeKey(0);

        for (int i = 0; i < 5; i++)
        {
            if (!this.IsValidBattlePos(this.m_BattlePos[i]))
            {
                gS_NEWEXPLORATION_START_REQ.i64SolID[i] = 0L;
            }
            else
            {
                gS_NEWEXPLORATION_START_REQ.i64SolID[i] = this.m_BattlePos[i].m_nSolID;
                byte b  = 0;
                byte b2 = 0;
                SoldierBatch.GetCalcBattlePos((long)this.m_BattlePos[i].m_nBattlePos, ref b, ref b2);
                gS_NEWEXPLORATION_START_REQ.i8SolPosition[i] = b2;
            }
        }
        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_NEWEXPLORATION_START_REQ, gS_NEWEXPLORATION_START_REQ);
        return(true);
    }
    private void OnCompleteGuildBossBatch(object a_oObject)
    {
        if (NrTSingleton <NkCharManager> .Instance.GetMyCharInfo() == null)
        {
            return;
        }
        if (NrTSingleton <NkCharManager> .Instance.GetCharPersonInfo(1) == null)
        {
            return;
        }
        clTempBattlePos[] tempBattlePosInfo = SoldierBatch.SOLDIERBATCH.GetTempBattlePosInfo();
        SoldierBatch.SOLDIERBATCH.SaveGuildBossBatchSolInfo();
        GS_NEWGUILD_BOSS_STARTBATTLE_REQ gS_NEWGUILD_BOSS_STARTBATTLE_REQ = new GS_NEWGUILD_BOSS_STARTBATTLE_REQ();

        gS_NEWGUILD_BOSS_STARTBATTLE_REQ.i16Floor           = SoldierBatch.GUILDBOSS_INFO.m_i16Floor;
        gS_NEWGUILD_BOSS_STARTBATTLE_REQ.nCombinationUnique = NrTSingleton <SolCombination_BatchSelectInfoManager> .Instance.GetUserSelectedUniqeKey(0);

        int num = 0;

        for (int i = 0; i < 9; i++)
        {
            if (tempBattlePosInfo[i].m_nSolID > 0L)
            {
                gS_NEWGUILD_BOSS_STARTBATTLE_REQ.clSolBatchPosInfo[num].SolID = tempBattlePosInfo[i].m_nSolID;
                byte b          = 0;
                byte nBattlePos = 0;
                SoldierBatch.GetCalcBattlePos((long)tempBattlePosInfo[i].m_nBattlePos, ref b, ref nBattlePos);
                gS_NEWGUILD_BOSS_STARTBATTLE_REQ.clSolBatchPosInfo[num].nBattlePos = nBattlePos;
                num++;
            }
        }
        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_NEWGUILD_BOSS_STARTBATTLE_REQ, gS_NEWGUILD_BOSS_STARTBATTLE_REQ);
        NEWGUILD_MY_BOSS_ROOMINFO guildBossMyRoomInfo = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetGuildBossMyRoomInfo(SoldierBatch.GUILDBOSS_INFO.m_i16Floor);

        if (guildBossMyRoomInfo != null)
        {
            guildBossMyRoomInfo.ui8PlayState = 0;
        }
    }
    private void OnCompleteMineBatch(object a_oObject)
    {
        if (NrTSingleton <NkCharManager> .Instance.GetMyCharInfo() == null)
        {
            return;
        }
        if (NrTSingleton <NkCharManager> .Instance.GetCharPersonInfo(1) == null)
        {
            return;
        }
        long guildID = NrTSingleton <NewGuildManager> .Instance.GetGuildID();

        clTempBattlePos[]           tempBattlePosInfo           = SoldierBatch.SOLDIERBATCH.GetTempBattlePosInfo();
        GS_SET_SOLDIER_MILITARY_REQ gS_SET_SOLDIER_MILITARY_REQ = new GS_SET_SOLDIER_MILITARY_REQ();

        gS_SET_SOLDIER_MILITARY_REQ.m_nMode            = 0;
        gS_SET_SOLDIER_MILITARY_REQ.m_nGuildID         = guildID;
        gS_SET_SOLDIER_MILITARY_REQ.m_nMineID          = SoldierBatch.MINE_INFO.m_i64MineID;
        gS_SET_SOLDIER_MILITARY_REQ.m_nMineGrade       = SoldierBatch.MINE_INFO.m_nMineGrade;
        gS_SET_SOLDIER_MILITARY_REQ.nCombinationUnique = NrTSingleton <SolCombination_BatchSelectInfoManager> .Instance.GetUserSelectedUniqeKey(0);

        int num = 0;

        for (int i = 0; i < 5; i++)
        {
            if (tempBattlePosInfo[i].m_nSolID > 0L)
            {
                gS_SET_SOLDIER_MILITARY_REQ.MilitaryInfo[num].SolID = tempBattlePosInfo[i].m_nSolID;
                byte b          = 0;
                byte solPosType = 0;
                SoldierBatch.GetCalcBattlePos((long)tempBattlePosInfo[i].m_nBattlePos, ref b, ref solPosType);
                gS_SET_SOLDIER_MILITARY_REQ.MilitaryInfo[num].SolPosType     = solPosType;
                gS_SET_SOLDIER_MILITARY_REQ.MilitaryInfo[num].MilitaryUnique = 0;
                num++;
            }
        }
        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_SET_SOLDIER_MILITARY_REQ, gS_SET_SOLDIER_MILITARY_REQ);
        NrTSingleton <NkClientLogic> .Instance.SetClearMiddleStage();
    }
    private bool CheckBattlePos()
    {
        if (this.m_nSelectStage <= 0 || this.m_nSubFloor < 0)
        {
            string textFromNotify = NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("614");

            Main_UI_SystemMessage.ADDMessage(textFromNotify, SYSTEM_MESSAGE_TYPE.IMPORTANT_MESSAGE);
            return(false);
        }
        NrPersonInfoUser charPersonInfo = NrTSingleton <NkCharManager> .Instance.GetCharPersonInfo(1);

        NrMyCharInfo    kMyCharInfo    = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo;
        BABELTOWER_DATA babelTowerData = NrTSingleton <BabelTowerManager> .Instance.GetBabelTowerData(this.m_nSelectStage, this.m_nSubFloor, this.m_nFloorType);

        if (babelTowerData == null)
        {
            TsLog.LogError("BABELTOWER_DATA == NULL  FloorType ={0} Floor={1} SubFloor={2}", new object[]
            {
                this.m_nFloorType,
                this.m_nSelectStage,
                this.m_nSubFloor
            });
            return(false);
        }
        if (!kMyCharInfo.IsEnableBattleUseActivityPoint(babelTowerData.m_nWillSpend))
        {
            string textFromNotify2 = NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("488");

            Main_UI_SystemMessage.ADDMessage(textFromNotify2, SYSTEM_MESSAGE_TYPE.IMPORTANT_MESSAGE);
            return(false);
        }
        this.m_nMyBatchSolNum = 0;
        byte b;

        if (this.m_BatchUserSol != null)
        {
            b = 0;
            while ((int)b < this.MYSOL_NUM_MAX)
            {
                this.m_BatchUserSol[(int)b].Init();
                b += 1;
            }
        }
        if (this.m_FriendBatch != null)
        {
            for (b = 0; b < 3; b += 1)
            {
                this.m_FriendBatch[(int)b].Init();
            }
        }
        for (b = 1; b <= 20; b += 1)
        {
            if (this.m_nMyBatchSolNum >= this.MYSOL_NUM_MAX)
            {
                break;
            }
            if (b >= 17)
            {
                string value = "0";
                PlayerPrefs.SetString(this.babel_solpos_string + b.ToString(), value);
            }
            else
            {
                string @string = PlayerPrefs.GetString(this.babel_solpos_string + b.ToString());
                if (@string != string.Empty)
                {
                    long          num = long.Parse(@string);
                    NkSoldierInfo soldierInfoFromSolID = charPersonInfo.GetSoldierInfoFromSolID(num);
                    byte          b2       = 0;
                    byte          nGridPos = 0;
                    SoldierBatch.GetCalcBattlePos((long)b, ref b2, ref nGridPos);
                    if (soldierInfoFromSolID != null)
                    {
                        if (soldierInfoFromSolID.GetSolPosType() == 1 || soldierInfoFromSolID.GetSolPosType() == 0 || soldierInfoFromSolID.GetSolPosType() == 2 || soldierInfoFromSolID.GetSolPosType() == 6)
                        {
                            this.m_BatchUserSol[this.m_nMyBatchSolNum].m_nSolID   = num;
                            this.m_BatchUserSol[this.m_nMyBatchSolNum].m_nGridPos = nGridPos;
                            this.m_BatchUserSol[this.m_nMyBatchSolNum].m_bInjury  = soldierInfoFromSolID.IsInjuryStatus();
                            this.m_nMyBatchSolNum++;
                        }
                    }
                }
            }
        }
        if (this.m_nMyBatchSolNum < this.MYSOL_NUM_MAX)
        {
            Main_UI_SystemMessage.ADDMessage(NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("610"), SYSTEM_MESSAGE_TYPE.NAGATIVE_MESSAGE);
            return(false);
        }
        List <byte> list = new List <byte>();

        for (b = 0; b < 16; b += 1)
        {
            list.Add(b);
        }
        b = 0;
        while ((int)b < this.m_nMyBatchSolNum)
        {
            list.Remove(this.m_BatchUserSol[(int)b].m_nGridPos);
            b += 1;
        }
        this.m_kFriendSolList.Clear();
        foreach (USER_FRIEND_INFO uSER_FRIEND_INFO in NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.m_kFriendInfo.GetFriendInfoValues())
        {
            if (uSER_FRIEND_INFO.FriendHelpSolInfo.i64HelpSolID > 0L)
            {
                if (uSER_FRIEND_INFO.ui8HelpUse < 1)
                {
                    this.m_kFriendSolList.Add(uSER_FRIEND_INFO);
                }
            }
        }
        this.m_kFriendSolList.Sort(new Comparison <USER_FRIEND_INFO>(this.CompareFriendSolLevel));
        int num2 = 0;

        for (int i = 0; i < this.m_kFriendSolList.Count; i++)
        {
            if (num2 >= 3)
            {
                break;
            }
            USER_FRIEND_INFO uSER_FRIEND_INFO2 = this.m_kFriendSolList[i];
            int  index = UnityEngine.Random.Range(0, list.Count);
            byte b3    = list[index];
            this.m_FriendBatch[num2].m_nPersonID = uSER_FRIEND_INFO2.nPersonID;
            this.m_FriendBatch[num2].m_nSolID    = uSER_FRIEND_INFO2.FriendHelpSolInfo.i64HelpSolID;
            this.m_FriendBatch[num2].m_nGridPos  = b3;
            this.m_FriendBatch[num2].m_bInjury   = false;
            list.Remove(b3);
            num2++;
        }
        if (NrTSingleton <NkClientLogic> .Instance.IsWorldScene() && NrTSingleton <FormsManager> .Instance.GetForm(G_ID.BABELTOWER_REPEAT_MAIN_DLG) == null)
        {
            NrTSingleton <FormsManager> .Instance.LoadForm(G_ID.BABELTOWER_REPEAT_MAIN_DLG);
        }
        return(true);
    }
    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();
    }