コード例 #1
0
 public BABELTOWER_DATA GetBabelTowerData(short _floor, short _subfloor, short _floortype = 1)
 {
     BabelTowerManager.BabelTower_Floor babelTowerFloorInfo = this.GetBabelTowerFloorInfo(_floor, _floortype);
     if (babelTowerFloorInfo == null)
     {
         return(null);
     }
     if (_floortype == 2)
     {
         foreach (BABELTOWER_DATA current in babelTowerFloorInfo.m_listBabelTowerData_Type2)
         {
             if (current.m_nFloor == _floor && current.m_nSubFloor == _subfloor && current.m_nFloorType == _floortype)
             {
                 BABELTOWER_DATA result = current;
                 return(result);
             }
         }
     }
     else
     {
         foreach (BABELTOWER_DATA current2 in babelTowerFloorInfo.m_listBabelTowerData_Type1)
         {
             if (current2.m_nFloor == _floor && current2.m_nSubFloor == _subfloor && current2.m_nFloorType == _floortype)
             {
                 BABELTOWER_DATA result = current2;
                 return(result);
             }
         }
     }
     return(null);
 }
コード例 #2
0
 public override bool ParseDataFromNDT(TsDataReader dr)
 {
     foreach (TsDataReader.Row data in dr)
     {
         BABELTOWER_DATA bABELTOWER_DATA = new BABELTOWER_DATA();
         bABELTOWER_DATA.SetData(data);
         NrTSingleton <BabelTowerManager> .Instance.AddBabelTowerData(bABELTOWER_DATA);
     }
     return(true);
 }
コード例 #3
0
        public void AddBabelDataInfo(BABELTOWER_DATA data)
        {
            if (data.m_nFloorType == 2)
            {
                if (data.m_nSubFloor > this.m_SubFloor_Type2)
                {
                    this.m_SubFloor_Type2 = data.m_nSubFloor;
                }
            }
            else if (data.m_nSubFloor > this.m_SubFloor_Type1)
            {
                this.m_SubFloor_Type1 = data.m_nSubFloor;
            }
            List <BABELTOWER_DATA> list;

            if (data.m_nFloorType == 2)
            {
                if (this.m_listBabelTowerData_Type2 == null)
                {
                    this.m_listBabelTowerData_Type2 = new List <BABELTOWER_DATA>();
                }
                list = this.m_listBabelTowerData_Type2;
            }
            else
            {
                if (this.m_listBabelTowerData_Type1 == null)
                {
                    this.m_listBabelTowerData_Type1 = new List <BABELTOWER_DATA>();
                }
                list = this.m_listBabelTowerData_Type1;
            }
            this.m_Column = NrTSingleton <BabelTowerManager> .Instance.GetBabelColumnNumFromFloor(data.m_nFloor, data.m_nSubFloor);

            int  num  = (int)(((data.m_nFloor - 1) * 5 + data.m_nSubFloor) % 63);
            long num2 = 1L << num;

            this.m_ClearInfo += num2;
            if (list == null)
            {
                TsLog.LogError("!!!!!!!!!!!!!!!!!listBabelTowerData == null  FloorType = {0}", new object[]
                {
                    data.m_nFloorType
                });
                return;
            }
            if (data == null)
            {
                TsLog.LogError("!!!!!!!!!!!!!!!!!data == null  FloorType = {0}", new object[]
                {
                    data.m_nFloorType
                });
                return;
            }
            list.Add(data);
        }
コード例 #4
0
    public bool IsEnableBattleUseActivityPoint(short nFloor, short nSubFloor, short nFloorType)
    {
        NrMyCharInfo kMyCharInfo = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo;

        if (kMyCharInfo == null)
        {
            return(false);
        }
        BABELTOWER_DATA babelTowerData = this.GetBabelTowerData(nFloor, nSubFloor, nFloorType);

        return(babelTowerData != null && kMyCharInfo.IsEnableBattleUseActivityPoint(babelTowerData.m_nWillSpend));
    }
コード例 #5
0
 public void AddBabelTowerData(BABELTOWER_DATA _data)
 {
     if (_data.m_nFloorType == 2 && this.m_LastFloor_Type2 < _data.m_nFloor)
     {
         this.m_LastFloor_Type2 = _data.m_nFloor;
     }
     else if (this.m_LastFloor_Type1 < _data.m_nFloor)
     {
         this.m_LastFloor_Type1 = _data.m_nFloor;
     }
     BabelTowerManager.BabelTower_Floor babelTowerFloorInfo = this.GetBabelTowerFloorInfo(_data.m_nFloor, _data.m_nFloorType);
     babelTowerFloorInfo.AddBabelDataInfo(_data);
 }
コード例 #6
0
    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);
    }
コード例 #7
0
    private void SetSubFloorInfo(short sub_floor)
    {
        NrMyCharInfo    kMyCharInfo    = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo;
        BABELTOWER_DATA babelTowerData = NrTSingleton <BabelTowerManager> .Instance.GetBabelTowerData(this.m_nFloor, sub_floor, this.m_nFloorType);

        if (babelTowerData != null)
        {
            this.m_nsubFloor = sub_floor;
            string text  = string.Empty;
            string empty = string.Empty;
            text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2846");

            NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
            {
                text,
                "count",
                babelTowerData.m_nWillSpend
            });

            if (this.m_nFloorType == 2)
            {
                text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2786");
            }
            else
            {
                text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("640");
            }
            NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
            {
                text,
                "floor",
                babelTowerData.m_nFloor
            });

            this.m_laTitle.SetText(empty);
            if (this.m_nFloorType == 2)
            {
                text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2787");
            }
            else
            {
                text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("833");
            }
            NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
            {
                text,
                "floor",
                this.m_nFloor,
                "subfloor",
                (int)(sub_floor + 1)
            });

            this.m_laSubFloorNum.SetText(empty);
            if (!kMyCharInfo.IsBabelClear(this.m_nFloor, sub_floor, this.m_nFloorType))
            {
                text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1697");

                NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
                {
                    text,
                    "itemname",
                    NrTSingleton <ItemManager> .Instance.GetItemNameByItemUnique(babelTowerData.m_nFirstReward_ItemUniq),
                    "count",
                    babelTowerData.m_nFirstReward_ItemNum
                });

                this.m_laFirstRewardItem.SetText(empty);
                this.m_itFirstRewardItem.Visible = true;
                this.m_itFirstRewardItem.ClearData();
                this.m_itFirstRewardItem.SetItemTexture(babelTowerData.m_nFirstReward_ItemUniq);
                this.m_dtFirstRewardItemBG.Visible = true;
                text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("723");

                this.m_laFristRewardItemText.SetText(text);
                this.m_dtFirstRewardItemFrame.Visible = true;
                this.m_dtFirstRewardItemLine.Visible  = true;
            }
            else if (!kMyCharInfo.IsBabelTreasure(this.m_nFloor, sub_floor, this.m_nFloorType))
            {
                text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1697");

                NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
                {
                    text,
                    "itemname",
                    NrTSingleton <ItemManager> .Instance.GetItemNameByItemUnique(babelTowerData.m_i32TreasureRewardUnique),
                    "count",
                    babelTowerData.m_i32TreasureRewardNum
                });

                this.m_laFirstRewardItem.SetText(empty);
                this.m_itFirstRewardItem.Visible = true;
                this.m_itFirstRewardItem.ClearData();
                ITEM iTEM = new ITEM();
                iTEM.m_nItemUnique = babelTowerData.m_i32TreasureRewardUnique;
                iTEM.m_nItemNum    = babelTowerData.m_i32TreasureRewardNum;
                iTEM.m_nOption[2]  = babelTowerData.m_i32TreasureRewardRank;
                this.m_itFirstRewardItem.SetItemTexture(iTEM, false, true, 1f);
                this.m_dtFirstRewardItemBG.Visible = true;
                text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1931");

                this.m_laFristRewardItemText.SetText(text);
                this.m_dtFirstRewardItemFrame.Visible = true;
                this.m_dtFirstRewardItemLine.Visible  = true;
            }
            else
            {
                this.m_itFirstRewardItem.Visible      = false;
                this.m_dtFirstRewardItemBG.Visible    = false;
                this.m_dtFirstRewardItemFrame.Visible = false;
                this.m_dtFirstRewardItemLine.Visible  = false;
                this.m_laFirstRewardItem.SetText(string.Empty);
                this.m_laFristRewardItemText.SetText(string.Empty);
            }
            BATTLE_BABEL_SREWARD battleBabelSRewardData = NrTSingleton <BattleSReward_Manager> .Instance.GetBattleBabelSRewardData(babelTowerData.m_i32ShowSpecialReward_DataUnique);

            if (battleBabelSRewardData != null)
            {
                int num = babelTowerData.m_i32ShowSpecialReward_DataPos - 1;
                if (num < 0 || num >= 4)
                {
                    num = 3;
                }
                int nRewardValue = battleBabelSRewardData.m_sRewardProduct[num].m_nRewardValue1;
                text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1803");

                NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
                {
                    text,
                    "itemname",
                    NrTSingleton <ItemManager> .Instance.GetItemNameByItemUnique(nRewardValue)
                });

                this.m_laSpecialRewardItem.SetText(empty);
                this.m_itSpecialRewardItem.ClearData();
                this.m_itSpecialRewardItem.SetItemTexture(nRewardValue);
            }
            text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1697");

            NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
            {
                text,
                "itemname",
                NrTSingleton <ItemManager> .Instance.GetItemNameByItemUnique(babelTowerData.m_nReward_ItemUniq),
                "count",
                babelTowerData.m_nReward_ItemNum
            });

            this.m_laRewardItem.SetText(empty);
            this.m_itRewardItem.SetItemTexture(babelTowerData.m_nReward_ItemUniq);
            text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("726");

            NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
            {
                text,
                "exp",
                babelTowerData.m_nReward_Exp
            });

            this.m_laRewardExp.SetText(empty);
            short babelTowerLastSubFloor = NrTSingleton <BabelTowerManager> .Instance.GetBabelTowerLastSubFloor(this.m_nFloor, this.m_nFloorType);

            if (this.m_SelectOldEffect != null)
            {
                UnityEngine.Object.DestroyImmediate(this.m_SelectOldEffect);
            }
            NrTSingleton <FormsManager> .Instance.AttachEffectKey("FX_BABEL_SELECT", this.m_btSubFloor[(int)babelTowerLastSubFloor][(int)this.m_nsubFloor], this.m_btSubFloor[(int)babelTowerLastSubFloor][(int)this.m_nsubFloor].GetSize());

            this.m_btSubFloor[(int)babelTowerLastSubFloor][(int)this.m_nsubFloor].AddGameObjectDelegate(new EZGameObjectDelegate(this.OldeffectDelete));
        }
    }