Ejemplo n.º 1
0
 private void OnGetMsg_SignDay(OperationResponse res)
 {
     if (res == null)
     {
         return;
     }
     if ((int)res.Parameters[1] == 0)
     {
         object obj3 = null;
         res.Parameters.TryGetValue(246, out obj3);
         object obj2 = null;
         res.Parameters.TryGetValue(146, out obj2);
         List <DropItemData> list         = SerializeHelper.Deserialize <List <DropItemData> >((byte[])obj3);
         List <DropItemData> list2        = SerializeHelper.Deserialize <List <DropItemData> >((byte[])obj2);
         DropItemData        dropItemData = null;
         if (list != null && list.Count > 0)
         {
             dropItemData = list.Find((DropItemData obj) => obj.itemType == 3 && obj.itemId == 2);
         }
         if (dropItemData != null)
         {
             ModelManager.Instance.GetNewHeroSkin(dropItemData.itemCount);
         }
     }
 }
        public override void Init(DropItemData data)
        {
            base.Init(data);
            Sub_DropItemBase sub_DropItemBase;

            if (base.ItemID == 7777)
            {
                sub_DropItemBase = new GameItem_Bottle();
            }
            else
            {
                SysGameItemsVo dataById = BaseDataMgr.instance.GetDataById <SysGameItemsVo>(base.ItemID.ToString());
                if (dataById == null)
                {
                    return;
                }
                if (dataById.type == 4)
                {
                    sub_DropItemBase = new GameItem_Rune();
                }
                else
                {
                    sub_DropItemBase = new GameItem_Other();
                }
            }
            if (sub_DropItemBase == null)
            {
                ClientLogger.Error("配置错误,找不到对应gameitem类型:ItemID=7777,gameitem.type=4");
            }
            else
            {
                sub_DropItemBase.Init(data);
                sub_DropItemBase.SetData();
            }
        }
Ejemplo n.º 3
0
 public virtual void Init(DropItemData data)
 {
     if (data == null)
     {
         return;
     }
     this.ItemID = data.itemId;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Loads a collection of DropItem instruction for a given mover.
        /// </summary>
        /// <param name="mover">Mover</param>
        /// <param name="dropItemInstructions">Collection of DropItem instructions</param>
        private void LoadDropItems(MoverData mover, IEnumerable <Instruction> dropItemInstructions)
        {
            if (dropItemInstructions == null)
            {
                return;
            }

            foreach (var dropItemInstruction in dropItemInstructions)
            {
                var dropItem = new DropItemData();

                string dropItemName = dropItemInstruction.Parameters.ElementAt(0).ToString();
                if (this._definesLoader.Defines.TryGetValue(dropItemName, out int itemId))
                {
                    dropItem.ItemId = itemId;
                }
                else
                {
                    this._logger.LogWarning($"Cannot find drop item id: {dropItemName} for mover {mover.Name}.");
                    continue;
                }

                if (long.TryParse(dropItemInstruction.Parameters.ElementAt(1).ToString(), out long probability))
                {
                    dropItem.Probability = probability;
                }
                else
                {
                    this._logger.LogWarning($"Cannot read drop item probability for item {dropItemName} and mover {mover.Name}.");
                }

                if (int.TryParse(dropItemInstruction.Parameters.ElementAt(2).ToString(), out int itemMaxRefine))
                {
                    dropItem.ItemMaxRefine = itemMaxRefine;
                }
                else
                {
                    this._logger.LogWarning($"Cannot read drop item refine max for item {dropItemName} and mover {mover.Name}.");
                }

                if (int.TryParse(dropItemInstruction.Parameters.ElementAt(3).ToString(), out int itemCount))
                {
                    dropItem.Count = itemCount;
                }
                else
                {
                    this._logger.LogWarning($"Cannot read drop item count for item {dropItemName} and mover {mover.Name}.");
                }

                mover.DropItems.Add(dropItem);
            }
        }
Ejemplo n.º 5
0
 public override void ParseJsonData(LitJson.JsonData data)
 {
     base.ParseJsonData(data);
     LitJson.JsonData dropDataList = data[EResultManager.sItemList];
     for (int i = 0; i < dropDataList.Count; i++)
     {
         DropItemData tmpData = new DropItemData();
         tmpData.mDropItemId = int.Parse(dropDataList[i][EResultManager.sItemType].ToString());
         tmpData.mDropKeyId  = int.Parse(dropDataList[i][EResultManager.sKeyID].ToString());
         //tmpData.mTrapData = new SM.TrapData();
         //tmpData.mDropItemCount = int.Parse(dropDataList[i][EResultManager.sItemCount].ToString());
         mDropItemDataList.Add(tmpData);
     }
 }
Ejemplo n.º 6
0
        public override void Init(DropItemData data)
        {
            base.Init(data);
            Sub_DropItemBase sub_DropItemBase = new GameBuff_DoubleCard();

            if (sub_DropItemBase == null)
            {
                ClientLogger.Error("配置错误,找不到对应即时生效物品类型:名前は=DoubleCard");
            }
            else
            {
                sub_DropItemBase.Init(data);
                sub_DropItemBase.SetData();
            }
        }
        public override void Init(DropItemData data)
        {
            base.Init(data);
            Sub_DropItemBase sub_DropItemBase = null;
            int itemID = base.ItemID;

            switch (itemID)
            {
            case 9:
                sub_DropItemBase = new Currency_Cap();
                goto IL_69;

            case 10:
IL_25:
                if (itemID == 1)
                {
                    sub_DropItemBase = new Currency_Gold();
                    goto IL_69;
                }
                if (itemID != 2)
                {
                    goto IL_69;
                }
                sub_DropItemBase = new Currency_Diamond();
                goto IL_69;

            case 11:
                sub_DropItemBase = new Currency_Trumpet();
                goto IL_69;
            }
            goto IL_25;
IL_69:
            if (sub_DropItemBase == null)
            {
                ClientLogger.Error("配置错误,找不到对应货币类型:ItemID=1,2,9,11");
            }
            else
            {
                sub_DropItemBase.Init(data);
                sub_DropItemBase.SetData();
            }
        }
Ejemplo n.º 8
0
        public static void ReturnItems(DropItemData did)
        {
            if (did == null)
            {
                return;
            }
            int          itemId       = did.itemId;
            int          itemType     = did.itemType;
            int          itemCount    = did.itemCount;
            DropItemBase dropItemBase = null;

            switch (itemType)
            {
            case 1:
                dropItemBase = new DropItem_Currency();
                break;

            case 2:
                dropItemBase = new DropItem_GameItem();
                break;

            case 3:
                dropItemBase = new DropItem_Unique();
                break;

            case 6:
                dropItemBase = new DropItem_GameBuff();
                break;
            }
            if (dropItemBase == null)
            {
                ClientLogger.Error("配置错误,找不到对应类型:itemtype=1,2,3,6");
            }
            else
            {
                dropItemBase.Init(did);
            }
        }
Ejemplo n.º 9
0
        public override void Init(DropItemData data)
        {
            base.Init(data);
            Sub_DropItemBase sub_DropItemBase = null;

            switch (base.ItemID)
            {
            case 1:
                sub_DropItemBase = new Unique_Hero();
                break;

            case 2:
                sub_DropItemBase = new Unique_Skin();
                break;

            case 3:
                sub_DropItemBase = new Unique_HeadPortrait();
                break;

            case 4:
                sub_DropItemBase = new Unique_PortraitFrame();
                break;

            case 5:
                sub_DropItemBase = new Unique_Coupon();
                break;
            }
            if (sub_DropItemBase == null)
            {
                ClientLogger.Error("配置错误,找不到对应唯一物品类型:ItemID=1,2,3,4,5");
            }
            else
            {
                sub_DropItemBase.Init(data);
                sub_DropItemBase.SetData();
            }
        }
Ejemplo n.º 10
0
 private void Awake()
 {
     dropItemData = GameFacade.GetInstance().dropItemData;
 }
Ejemplo n.º 11
0
    public static Com.Game.Module.ItemType GetDropItemType(this ToolsFacade facade, DropItemData dropItem)
    {
        switch (dropItem.itemType)
        {
        case 1:
            if (dropItem.itemId == 1)
            {
                return(Com.Game.Module.ItemType.Coin);
            }
            if (dropItem.itemId == 2)
            {
                return(Com.Game.Module.ItemType.Diamond);
            }
            if (dropItem.itemId == 9)
            {
                return(Com.Game.Module.ItemType.Cap);
            }
            if (dropItem.itemId == 11)
            {
                return(Com.Game.Module.ItemType.Speaker);
            }
            return(Com.Game.Module.ItemType.None);

        case 2:
        {
            SysGameItemsVo dataById = BaseDataMgr.instance.GetDataById <SysGameItemsVo>(dropItem.itemId.ToString());
            if (dropItem.itemId == 7777)
            {
                return(Com.Game.Module.ItemType.Bottle);
            }
            if (dataById != null && dataById.type == 4)
            {
                return(Com.Game.Module.ItemType.Rune);
            }
            return(Com.Game.Module.ItemType.NormalGameItem);
        }

        case 3:
            if (dropItem.itemId == 1)
            {
                return(Com.Game.Module.ItemType.Hero);
            }
            if (dropItem.itemId == 2)
            {
                return(Com.Game.Module.ItemType.HeroSkin);
            }
            if (dropItem.itemId == 3)
            {
                return(Com.Game.Module.ItemType.HeadPortrait);
            }
            if (dropItem.itemId == 4)
            {
                return(Com.Game.Module.ItemType.PortraitFrame);
            }
            if (dropItem.itemId == 5)
            {
                return(Com.Game.Module.ItemType.Coupon);
            }
            return(Com.Game.Module.ItemType.None);

        case 4:
            if (dropItem.itemId == 1)
            {
                return(Com.Game.Module.ItemType.Exp);
            }
            return(Com.Game.Module.ItemType.None);

        case 6:
            return(Com.Game.Module.ItemType.GameBuff);
        }
        return(Com.Game.Module.ItemType.None);
    }
Ejemplo n.º 12
0
    public static void GetRewards_WriteInModels_WithoutShowEffect(this ToolsFacade facade, List <EquipmentInfoData> listEquip, List <HeroInfoData> listHero, List <DropItemData> listDropItem, List <DropItemData> listRepeatItem, Callback _onFinish = null)
    {
        if (listDropItem == null || listEquip == null || listHero == null || (listDropItem.Count == 0 && listEquip.Count == 0 && listHero.Count == 0))
        {
            ClientLogger.Error("Tools_Rewards: Arguments Illegal");
        }
        UserData userData = ModelManager.Instance.Get_userData_X();
        bool     flag     = false;

        DropItemData[] array = (from obj in listDropItem
                                where obj.itemType == 1 && obj.itemId == 1
                                select obj).ToArray <DropItemData>();
        DropItemData[] array2 = array;
        for (int i = 0; i < array2.Length; i++)
        {
            DropItemData dropItemData = array2[i];
            userData.Money += (long)dropItemData.itemCount;
        }
        array = (from obj in listDropItem
                 where obj.itemType == 1 && obj.itemId == 2
                 select obj).ToArray <DropItemData>();
        DropItemData[] array3 = array;
        for (int j = 0; j < array3.Length; j++)
        {
            DropItemData dropItemData2 = array3[j];
            userData.Diamonds += (long)dropItemData2.itemCount;
        }
        array = (from obj in listDropItem
                 where obj.itemType == 1 && obj.itemId == 9
                 select obj).ToArray <DropItemData>();
        DropItemData[] array4 = array;
        for (int k = 0; k < array4.Length; k++)
        {
            DropItemData dropItemData3 = array4[k];
            userData.SmallCap += dropItemData3.itemCount;
        }
        array = (from obj in listDropItem
                 where obj.itemType == 1 && obj.itemId == 11
                 select obj).ToArray <DropItemData>();
        DropItemData[] array5 = array;
        for (int l = 0; l < array5.Length; l++)
        {
            DropItemData dropItemData4 = array5[l];
            userData.Speaker += dropItemData4.itemCount;
        }
        EquipmentInfoData[] array6 = listEquip.ToArray();
        EquipmentInfoData[] array7 = array6;
        EquipmentInfoData   gameItem;

        for (int m = 0; m < array7.Length; m++)
        {
            gameItem = array7[m];
            if (ModelManager.Instance.Get_equipmentList_X().Find((EquipmentInfoData obj) => obj.EquipmentId == gameItem.EquipmentId) == null)
            {
                ModelManager.Instance.Get_equipmentList_X().Add(gameItem);
            }
            else
            {
                ModelManager.Instance.Get_equipmentList_X().Find((EquipmentInfoData obj) => obj.EquipmentId == gameItem.EquipmentId).Count += gameItem.Count;
            }
            SysGameItemsVo dataById = BaseDataMgr.instance.GetDataById <SysGameItemsVo>(gameItem.ModelId.ToString());
            if (gameItem.ModelId == 7777)
            {
                Singleton <MenuView> .Instance.UpdateBottleNum();
            }
        }
        HeroInfoData[] array8 = listHero.ToArray();
        if (array8 != null)
        {
            for (int n = 0; n < array8.Length; n++)
            {
                for (int num = 0; num < listRepeatItem.Count; num++)
                {
                    SysHeroMainVo heroMainData = BaseDataMgr.instance.GetHeroMainData(array8[n].ModelId);
                    if (listRepeatItem[num].itemType == 3 && listRepeatItem[num].itemId == 1 && listRepeatItem[num].itemCount == heroMainData.hero_id)
                    {
                        GetItemsView.ExchangeItemData exchangeItemData = new GetItemsView.ExchangeItemData(Com.Game.Module.ItemType.Hero, listRepeatItem[num].itemCount.ToString(), true);
                        flag = true;
                    }
                }
                if (flag)
                {
                    flag = false;
                }
                else if (!ModelManager.Instance.Get_heroInfo_list_X().Contains(array8[n]))
                {
                    ModelManager.Instance.Get_heroInfo_list_X().Add(array8[n]);
                }
            }
            CharacterDataMgr.instance.UpdateHerosData();
            Singleton <MenuView> .Instance.CheckHeroState();
        }
        array = (from obj in listDropItem
                 where obj.itemType == 3 && obj.itemId == 2
                 select obj).ToArray <DropItemData>();
        DropItemData[] array9 = array;
        for (int num2 = 0; num2 < array9.Length; num2++)
        {
            DropItemData dropItemData5 = array9[num2];
            for (int num3 = 0; num3 < listRepeatItem.Count; num3++)
            {
                if (listRepeatItem[num3].itemType == 3 && listRepeatItem[num3].itemId == 2 && listRepeatItem[num3].itemCount == dropItemData5.itemCount)
                {
                    GetItemsView.ExchangeItemData exchangeItemData2 = new GetItemsView.ExchangeItemData(Com.Game.Module.ItemType.HeroSkin, dropItemData5.itemCount.ToString(), true);
                    flag = true;
                }
            }
            if (flag)
            {
                flag = false;
            }
            else
            {
                ModelManager.Instance.GetNewHeroSkin(dropItemData5.itemCount);
            }
        }
        array = (from obj in listDropItem
                 where obj.itemType == 3 && obj.itemId == 3
                 select obj).ToArray <DropItemData>();
        DropItemData[] array10 = array;
        for (int num4 = 0; num4 < array10.Length; num4++)
        {
            DropItemData dropItemData6 = array10[num4];
            for (int num5 = 0; num5 < listRepeatItem.Count; num5++)
            {
                if (listRepeatItem[num5].itemType == 3 && listRepeatItem[num5].itemId == 3 && listRepeatItem[num5].itemCount == dropItemData6.itemCount)
                {
                    GetItemsView.ExchangeItemData exchangeItemData3 = new GetItemsView.ExchangeItemData(Com.Game.Module.ItemType.HeadPortrait, dropItemData6.itemCount.ToString(), true);
                    flag = true;
                }
            }
            if (flag)
            {
                flag = false;
            }
            else
            {
                ModelManager.Instance.GetNewAvatar("3", dropItemData6.itemCount.ToString());
            }
        }
        array = (from obj in listDropItem
                 where obj.itemType == 3 && obj.itemId == 4
                 select obj).ToArray <DropItemData>();
        DropItemData[] array11 = array;
        for (int num6 = 0; num6 < array11.Length; num6++)
        {
            DropItemData dropItemData7 = array11[num6];
            for (int num7 = 0; num7 < listRepeatItem.Count; num7++)
            {
                if (listRepeatItem[num7].itemType == 3 && listRepeatItem[num7].itemId == 4 && listRepeatItem[num7].itemCount == dropItemData7.itemCount)
                {
                    GetItemsView.ExchangeItemData exchangeItemData4 = new GetItemsView.ExchangeItemData(Com.Game.Module.ItemType.PortraitFrame, dropItemData7.itemCount.ToString(), true);
                    flag = true;
                }
            }
            if (flag)
            {
                flag = false;
            }
            else
            {
                ModelManager.Instance.GetNewAvatar("4", dropItemData7.itemCount.ToString());
            }
        }
        array = (from obj in listDropItem
                 where obj.itemType == 3 && obj.itemId == 5
                 select obj).ToArray <DropItemData>();
        DropItemData[] array12 = array;
        for (int num8 = 0; num8 < array12.Length; num8++)
        {
            DropItemData dropItemData8 = array12[num8];
            for (int num9 = 0; num9 < listRepeatItem.Count; num9++)
            {
                if (listRepeatItem[num9].itemType == 3 && listRepeatItem[num9].itemId == 5 && listRepeatItem[num9].itemCount == dropItemData8.itemCount)
                {
                    GetItemsView.ExchangeItemData exchangeItemData5 = new GetItemsView.ExchangeItemData(Com.Game.Module.ItemType.Coupon, dropItemData8.itemCount.ToString(), true);
                    flag = true;
                }
            }
            if (flag)
            {
                flag = false;
            }
            else
            {
                ModelManager.Instance.GetNewCoupon(dropItemData8.itemCount.ToString());
            }
        }
        array = (from obj in listDropItem
                 where obj.itemType == 4 && obj.itemId == 1
                 select obj).ToArray <DropItemData>();
        DropItemData[] array13 = array;
        for (int num10 = 0; num10 < array13.Length; num10++)
        {
            DropItemData dropItemData9 = array13[num10];
            userData.Exp += (long)dropItemData9.itemCount;
            CharacterDataMgr.instance.SaveNowUserLevel(userData.Exp);
        }
        array = (from obj in listDropItem
                 where obj.itemType == 6
                 select obj).ToArray <DropItemData>();
        DropItemData[] array14 = array;
        for (int num11 = 0; num11 < array14.Length; num11++)
        {
            DropItemData dropItemData10 = array14[num11];
            SendMsgManager.Instance.SendMsg(MobaGameCode.GetDoubleCard, null, new object[0]);
        }
        Singleton <MenuTopBarView> .Instance.RefreshUI();
    }
 public override void Init(DropItemData data)
 {
     base.Init(data);
 }
Ejemplo n.º 14
0
        public static void Get_Settle_SavingData(this ModelManager mmng)
        {
            SettlementModelData settlementModelData = mmng.Get_SettlementModelData();
            DropItemData        dropItemData        = settlementModelData.dropRtnData.Find((DropItemData obj) => obj.itemId == 2 && obj.itemType == 1);
            int num = (dropItemData != null) ? dropItemData.itemCount : 0;

            dropItemData = settlementModelData.dropRtnData.Find((DropItemData obj) => obj.itemId == 9 && obj.itemType == 1);
            int num2 = (dropItemData != null) ? dropItemData.itemCount : 0;

            HeroInfoData[] array = settlementModelData.heroRtnData.ToArray();
            if (array != null)
            {
                for (int i = 0; i < array.Length; i++)
                {
                    if (!ModelManager.Instance.Get_heroInfo_list_X().Contains(array[i]))
                    {
                        ModelManager.Instance.Get_heroInfo_list_X().Add(array[i]);
                    }
                }
                CharacterDataMgr.instance.UpdateHerosData();
            }
            EquipmentInfoData[] array2 = settlementModelData.equipRtnData.ToArray();
            DropItemData[]      array3 = (from obj in settlementModelData.dropRtnData
                                          where obj.itemId == 3 && obj.itemType == 3
                                          select obj).ToArray <DropItemData>();
            DropItemData[] array4 = (from obj in settlementModelData.dropRtnData
                                     where obj.itemId == 4 && obj.itemType == 3
                                     select obj).ToArray <DropItemData>();
            DropItemData[] array5 = (from obj in settlementModelData.dropRtnData
                                     where obj.itemId == 5 && obj.itemType == 3
                                     select obj).ToArray <DropItemData>();
            if (settlementModelData.coin_Delta > 0)
            {
                SendMsgManager.Instance.SendMsg(MobaGameCode.GetCurrencyCount, null, new object[]
                {
                    1
                });
            }
            if (settlementModelData.summonerExp_Delta > 0)
            {
                mmng.Get_userData_X().Exp += (long)settlementModelData.summonerExp_Delta;
                CharacterDataMgr.instance.SaveNowUserLevel(mmng.Get_userData_X().Exp);
            }
            SendMsgManager.Instance.SendMsg(MobaGameCode.GetMagicBottleInfo, null, new object[0]);
            if (num > 0)
            {
                SendMsgManager.Instance.SendMsg(MobaGameCode.GetCurrencyCount, null, new object[]
                {
                    2
                });
            }
            if (num2 > 0)
            {
                mmng.Get_userData_X().SmallCap += num2;
            }
            EquipmentInfoData[] array6 = array2;
            EquipmentInfoData   runeItem;

            for (int j = 0; j < array6.Length; j++)
            {
                runeItem = array6[j];
                if (mmng.Get_equipmentList_X().Find((EquipmentInfoData obj) => obj.EquipmentId == runeItem.EquipmentId) == null)
                {
                    mmng.Get_equipmentList_X().Add(runeItem);
                }
                else
                {
                    mmng.Get_equipmentList_X().Find((EquipmentInfoData obj) => obj.EquipmentId == runeItem.EquipmentId).Count += runeItem.Count;
                }
            }
            DropItemData[] array7 = array3;
            for (int k = 0; k < array7.Length; k++)
            {
                DropItemData dropItemData2 = array7[k];
                mmng.GetNewAvatar("3", dropItemData2.itemCount.ToString());
            }
            DropItemData[] array8 = array4;
            for (int l = 0; l < array8.Length; l++)
            {
                DropItemData dropItemData3 = array8[l];
                mmng.GetNewAvatar("4", dropItemData3.itemCount.ToString());
            }
            DropItemData[] array9 = array5;
            for (int m = 0; m < array9.Length; m++)
            {
                DropItemData dropItemData4 = array9[m];
                mmng.GetNewCoupon(dropItemData4.itemCount.ToString());
            }
            if (LevelManager.m_CurLevel.IsLeague(LevelManager.CurBattleId))
            {
                EquipmentInfoData equipmentInfoData = ModelManager.Instance.Get_equipmentList_X().Find((EquipmentInfoData obj) => obj.ModelId == 8000);
                if (equipmentInfoData == null)
                {
                    return;
                }
                if (equipmentInfoData.Count <= 1)
                {
                    ModelManager.Instance.Get_equipmentList_X().Remove(equipmentInfoData);
                }
                else
                {
                    equipmentInfoData.Count--;
                }
            }
            SendMsgManager.Instance.SendMsg(MobaGameCode.GetTaskList, null, new object[]
            {
                0
            });
            SendMsgManager.Instance.SendMsg(MobaGameCode.ShowDailyTask, null, new object[0]);
            if (GameManager.IsVictory.Value)
            {
                ModelManager.Instance.RemoveWinCard();
            }
            SysBattleSceneVo dataById = BaseDataMgr.instance.GetDataById <SysBattleSceneVo>(LevelManager.CurBattleId);
            bool             flag     = LevelManager.m_CurLevel.IsFightWithRobot() || LevelManager.m_CurLevel.IsBattleNewbieGuide() || mmng.Get_Settle_IsSelfDefine();

            ModelManager.Instance.Get_GetMyAchievementData_X().HaveFight = !flag;
            if (ModelManager.Instance.Get_GetMyAchievementData_X().HaveFight)
            {
                SendMsgManager.Instance.SendMsg(MobaGameCode.GetKdaMyHeroData, null, new object[0]);
                SendMsgManager.Instance.SendMsg(MobaGameCode.GetHomeTotalRecord, null, new object[0]);
            }
        }
Ejemplo n.º 15
0
        public static void Set_settle_2GetItemsView(this ModelManager mmng)
        {
            if (mmng == null)
            {
                CtrlManager.CloseWindow(WindowID.GetItemsView);
                return;
            }
            SettlementModelData settlementModelData = mmng.Get_SettlementModelData();

            if (settlementModelData == null)
            {
                CtrlManager.CloseWindow(WindowID.GetItemsView);
                return;
            }
            if (settlementModelData.dropRtnData == null || settlementModelData.equipRtnData == null || settlementModelData.heroRtnData == null || (settlementModelData.dropRtnData.Count == 0 && settlementModelData.equipRtnData.Count == 0 && settlementModelData.heroRtnData.Count == 0))
            {
                CtrlManager.CloseWindow(WindowID.GetItemsView);
                return;
            }
            DropItemData dropItemData = settlementModelData.dropRtnData.Find((DropItemData obj) => obj.itemId == 2 && obj.itemType == 1);
            int          num          = (dropItemData != null) ? dropItemData.itemCount : 0;

            dropItemData = settlementModelData.dropRtnData.Find((DropItemData obj) => obj.itemId == 9 && obj.itemType == 1);
            int num2 = (dropItemData != null) ? dropItemData.itemCount : 0;

            HeroInfoData[] array  = settlementModelData.heroRtnData.ToArray();
            DropItemData[] array2 = (from obj in settlementModelData.dropRtnData
                                     where obj.itemId == 2 && obj.itemType == 3
                                     select obj).ToArray <DropItemData>();
            EquipmentInfoData[] array3 = settlementModelData.equipRtnData.ToArray();
            DropItemData[]      array4 = (from obj in settlementModelData.dropRtnData
                                          where obj.itemId == 3 && obj.itemType == 3
                                          select obj).ToArray <DropItemData>();
            DropItemData[] array5 = (from obj in settlementModelData.dropRtnData
                                     where obj.itemId == 4 && obj.itemType == 3
                                     select obj).ToArray <DropItemData>();
            DropItemData[] array6 = (from obj in settlementModelData.dropRtnData
                                     where obj.itemId == 5 && obj.itemType == 3
                                     select obj).ToArray <DropItemData>();
            DropItemData[] array7 = (from obj in settlementModelData.dropRtnData
                                     where obj.itemType == 6
                                     select obj).ToArray <DropItemData>();
            bool flag = false;

            EquipmentInfoData[] array8 = array3;
            for (int i = 0; i < array8.Length; i++)
            {
                EquipmentInfoData equipmentInfoData = array8[i];
                SysGameItemsVo    dataById          = BaseDataMgr.instance.GetDataById <SysGameItemsVo>(equipmentInfoData.ModelId.ToString());
                if (equipmentInfoData.ModelId == 7777)
                {
                    MobaMessageManagerTools.GetItems_Bottle(equipmentInfoData.Count);
                }
                else if (dataById.type == 4)
                {
                    MobaMessageManagerTools.GetItems_Rune(equipmentInfoData.ModelId);
                }
                else
                {
                    MobaMessageManagerTools.GetItems_GameItem(equipmentInfoData.ModelId.ToString());
                }
            }
            MobaMessageManagerTools.GetItems_Diamond(num);
            MobaMessageManagerTools.GetItems_Caps(num2);
            DropItemData[] array9 = array4;
            for (int j = 0; j < array9.Length; j++)
            {
                DropItemData dropItemData2 = array9[j];
                for (int k = 0; k < settlementModelData.repeatRtnData.Count; k++)
                {
                    if (settlementModelData.repeatRtnData[k].itemType == 3 && settlementModelData.repeatRtnData[k].itemId == 3 && settlementModelData.repeatRtnData[k].itemCount == dropItemData2.itemCount)
                    {
                        MobaMessageManagerTools.GetItems_Exchange(Com.Game.Module.ItemType.HeadPortrait, dropItemData2.itemCount.ToString(), true);
                        flag = true;
                    }
                }
                if (flag)
                {
                    flag = false;
                }
                else
                {
                    MobaMessageManagerTools.GetItems_HeadPortrait(dropItemData2.itemCount);
                }
            }
            DropItemData[] array10 = array5;
            for (int l = 0; l < array10.Length; l++)
            {
                DropItemData dropItemData3 = array10[l];
                for (int m = 0; m < settlementModelData.repeatRtnData.Count; m++)
                {
                    if (settlementModelData.repeatRtnData[m].itemType == 3 && settlementModelData.repeatRtnData[m].itemId == 4 && settlementModelData.repeatRtnData[m].itemCount == dropItemData3.itemCount)
                    {
                        MobaMessageManagerTools.GetItems_Exchange(Com.Game.Module.ItemType.PortraitFrame, dropItemData3.itemCount.ToString(), true);
                        flag = true;
                    }
                }
                if (flag)
                {
                    flag = false;
                }
                else
                {
                    MobaMessageManagerTools.GetItems_PortraitFrame(dropItemData3.itemCount.ToString());
                }
            }
            HeroInfoData[] array11 = array;
            HeroInfoData   item;

            for (int n = 0; n < array11.Length; n++)
            {
                item = array11[n];
                for (int num3 = 0; num3 < settlementModelData.repeatRtnData.Count; num3++)
                {
                    if ((long)settlementModelData.repeatRtnData[num3].itemCount == item.HeroId)
                    {
                        Dictionary <string, SysHeroMainVo> typeDicByType = BaseDataMgr.instance.GetTypeDicByType <SysHeroMainVo>();
                        string npc_id = typeDicByType.Values.FirstOrDefault((SysHeroMainVo obj) => (long)obj.hero_id == item.HeroId).npc_id;
                        MobaMessageManagerTools.GetItems_Exchange(Com.Game.Module.ItemType.Hero, npc_id, true);
                        flag = true;
                    }
                }
                if (flag)
                {
                    flag = false;
                }
                else
                {
                    MobaMessageManagerTools.GetItems_Hero(item.ModelId);
                }
            }
            DropItemData[] array12 = array2;
            for (int num4 = 0; num4 < array12.Length; num4++)
            {
                DropItemData dropItemData4 = array12[num4];
                for (int num5 = 0; num5 < settlementModelData.repeatRtnData.Count; num5++)
                {
                    if (settlementModelData.repeatRtnData[num5].itemType == 3 && settlementModelData.repeatRtnData[num5].itemId == 2 && settlementModelData.repeatRtnData[num5].itemCount == dropItemData4.itemCount)
                    {
                        MobaMessageManagerTools.GetItems_Exchange(Com.Game.Module.ItemType.HeroSkin, dropItemData4.itemCount.ToString(), true);
                        flag = true;
                    }
                }
                if (flag)
                {
                    flag = false;
                }
                else
                {
                    MobaMessageManagerTools.GetItems_HeroSkin(dropItemData4.itemCount);
                }
            }
            DropItemData[] array13 = array6;
            for (int num6 = 0; num6 < array13.Length; num6++)
            {
                DropItemData dropItemData5 = array13[num6];
                for (int num7 = 0; num7 < settlementModelData.repeatRtnData.Count; num7++)
                {
                    if (settlementModelData.repeatRtnData[num7].itemType == 3 && settlementModelData.repeatRtnData[num7].itemId == 5 && settlementModelData.repeatRtnData[num7].itemCount == dropItemData5.itemCount)
                    {
                        MobaMessageManagerTools.GetItems_Exchange(Com.Game.Module.ItemType.Coupon, dropItemData5.itemCount.ToString(), true);
                        flag = true;
                    }
                }
                if (flag)
                {
                    flag = false;
                }
                else
                {
                    MobaMessageManagerTools.GetItems_Coupon(dropItemData5.itemCount.ToString());
                }
            }
            DropItemData[] array14 = array7;
            for (int num8 = 0; num8 < array14.Length; num8++)
            {
                DropItemData dropItemData6 = array14[num8];
                MobaMessageManagerTools.GetItems_GameBuff(dropItemData6.itemId);
                SendMsgManager.Instance.SendMsg(MobaGameCode.GetDoubleCard, null, new object[0]);
            }
            Singleton <GetItemsView> .Instance.Play();
        }