protected override void InitReward()
    {
        List <ResultReward> list = new List <ResultReward>();

        dropItemNum       = 0;
        dropLineNum       = 0;
        eventRewardTitles = new List <string>();
        if (MonoBehaviourSingleton <InGameManager> .I.arenaRewards.Count > 0)
        {
            foreach (QuestCompleteRewardList arenaReward in MonoBehaviourSingleton <InGameManager> .I.arenaRewards)
            {
                ResultReward resultReward = new ResultReward();
                DevideRewardDropAndEvent(resultReward, arenaReward.drop);
                List <SortCompareData> list2 = new List <SortCompareData>();
                int start_ary_index          = 0;
                start_ary_index = ResultUtility.SetDropData(list2, start_ary_index, resultReward.dropReward.item, REWARD_CATEGORY.DROP);
                start_ary_index = ResultUtility.SetDropData(list2, start_ary_index, resultReward.dropReward.equipItem, REWARD_CATEGORY.DROP);
                start_ary_index = ResultUtility.SetDropData(list2, start_ary_index, resultReward.dropReward.skillItem, REWARD_CATEGORY.DROP);
                start_ary_index = ResultUtility.SetDropData(list2, start_ary_index, resultReward.dropReward.questItem, REWARD_CATEGORY.DROP);
                list2.Sort((SortCompareData l, SortCompareData r) => r.GetSortValueQuestResult() - l.GetSortValueQuestResult());
                resultReward.dropItemIconData = list2.ToArray();
                dropItemNum += resultReward.dropItemIconData.Length;
                list.Add(resultReward);
            }
        }
        pointShopResultData = (MonoBehaviourSingleton <InGameManager> .I.arenaPointShops ?? new List <PointShopResultData>());
        resultRewards       = list.ToArray();
    }
Пример #2
0
 private void OpenMutualFollowBonusDialog(Action end_callback)
 {
     //IL_0113: Unknown result type (might be due to invalid IL or missing references)
     if (base.followReward != null)
     {
         QuestCompleteReward followReward = base.followReward;
         base.followReward = null;
         List <SortCompareData> tmp = new List <SortCompareData>();
         int start_ary_index        = 0;
         int gold    = followReward.money;
         int crystal = followReward.crystal;
         int exp     = followReward.exp;
         start_ary_index = ResultUtility.SetDropData(tmp, start_ary_index, followReward.item, REWARD_CATEGORY.DROP);
         start_ary_index = ResultUtility.SetDropData(tmp, start_ary_index, followReward.equipItem, REWARD_CATEGORY.DROP);
         start_ary_index = ResultUtility.SetDropData(tmp, start_ary_index, followReward.skillItem, REWARD_CATEGORY.DROP);
         if (ResultUtility.SetDropData(tmp, start_ary_index, followReward.questItem, REWARD_CATEGORY.DROP) == 0 && crystal == 0 && gold == 0 && exp == 0)
         {
             end_callback?.Invoke();
         }
         else
         {
             followBonusCallback = end_callback;
             if (!QuestResultTop.IsExecuteNowSceneEvent(GetSceneName()))
             {
                 this.StartCoroutine(ExecEndDialogEvent(GetSceneName(), delegate
                 {
                     DispatchEvent("MUTUAL_FOLLOW_BONUS", new object[3]
                     {
                         tmp,
                         gold,
                         crystal
                     });
                 }));
             }
             else
             {
                 DispatchEvent("MUTUAL_FOLLOW_BONUS", new object[3]
                 {
                     tmp,
                     gold,
                     crystal
                 });
             }
         }
     }
     else
     {
         end_callback?.Invoke();
     }
 }
Пример #3
0
    protected override void InitReward()
    {
        List <ResultReward> list = new List <ResultReward>();

        dropItemNum       = 0;
        dropLineNum       = 0;
        eventRewardTitles = new List <string>();
        followReward      = new QuestCompleteReward();
        List <PointEventCurrentData.Reward> list2 = new List <PointEventCurrentData.Reward>();

        if (MonoBehaviourSingleton <InGameManager> .I.rushRewards.Count > 0)
        {
            isVictory = true;
            foreach (QuestCompleteRewardList rushReward in MonoBehaviourSingleton <InGameManager> .I.rushRewards)
            {
                ResultReward resultReward = new ResultReward();
                DevideRewardDropAndEvent(resultReward, rushReward.drop);
                QuestCompleteReward breakPartsReward = rushReward.breakPartsReward;
                QuestCompleteReward breakReward      = rushReward.breakReward;
                QuestCompleteReward order            = rushReward.order;
                followReward.Add(rushReward.followReward);
                foreach (QuestCompleteReward.Item item in rushReward.first.item)
                {
                    PointEventCurrentData.Reward reward = new PointEventCurrentData.Reward();
                    reward.type   = 3;
                    reward.itemId = item.itemId;
                    reward.num    = item.num;
                    list2.Add(reward);
                }
                foreach (QuestCompleteReward.QuestItem item2 in rushReward.first.questItem)
                {
                    PointEventCurrentData.Reward reward2 = new PointEventCurrentData.Reward();
                    reward2.type   = 6;
                    reward2.itemId = item2.questId;
                    reward2.num    = item2.num;
                    list2.Add(reward2);
                }
                foreach (QuestCompleteReward.EquipItem item3 in rushReward.first.equipItem)
                {
                    PointEventCurrentData.Reward reward3 = new PointEventCurrentData.Reward();
                    reward3.type   = 4;
                    reward3.itemId = item3.equipItemId;
                    reward3.num    = item3.num;
                    list2.Add(reward3);
                }
                int money = rushReward.first.money;
                if (money > 0)
                {
                    PointEventCurrentData.Reward reward4 = new PointEventCurrentData.Reward();
                    reward4.type = 2;
                    reward4.num  = money;
                    list2.Add(reward4);
                }
                int crystal = rushReward.first.crystal;
                if (crystal > 0)
                {
                    PointEventCurrentData.Reward reward5 = new PointEventCurrentData.Reward();
                    reward5.type = 1;
                    reward5.num  = crystal;
                    list2.Add(reward5);
                }
                List <SortCompareData> list3 = new List <SortCompareData>();
                int start_ary_index          = 0;
                start_ary_index = ResultUtility.SetDropData(list3, start_ary_index, order.item, REWARD_CATEGORY.DROP);
                start_ary_index = ResultUtility.SetDropData(list3, start_ary_index, order.equipItem, REWARD_CATEGORY.DROP);
                start_ary_index = ResultUtility.SetDropData(list3, start_ary_index, order.skillItem, REWARD_CATEGORY.DROP);
                start_ary_index = ResultUtility.SetDropData(list3, start_ary_index, resultReward.dropReward.item, REWARD_CATEGORY.DROP);
                start_ary_index = ResultUtility.SetDropData(list3, start_ary_index, resultReward.dropReward.equipItem, REWARD_CATEGORY.DROP);
                start_ary_index = ResultUtility.SetDropData(list3, start_ary_index, resultReward.dropReward.skillItem, REWARD_CATEGORY.DROP);
                start_ary_index = ResultUtility.SetDropData(list3, start_ary_index, resultReward.dropReward.questItem, REWARD_CATEGORY.DROP);
                start_ary_index = ResultUtility.SetDropData(list3, start_ary_index, breakReward.item, REWARD_CATEGORY.DROP);
                start_ary_index = ResultUtility.SetDropData(list3, start_ary_index, breakReward.equipItem, REWARD_CATEGORY.DROP);
                start_ary_index = ResultUtility.SetDropData(list3, start_ary_index, breakReward.skillItem, REWARD_CATEGORY.DROP);
                start_ary_index = ResultUtility.SetDropData(list3, start_ary_index, breakPartsReward.item, REWARD_CATEGORY.BREAK);
                start_ary_index = ResultUtility.SetDropData(list3, start_ary_index, breakPartsReward.equipItem, REWARD_CATEGORY.BREAK);
                start_ary_index = ResultUtility.SetDropData(list3, start_ary_index, breakPartsReward.skillItem, REWARD_CATEGORY.BREAK);
                list3.Sort((SortCompareData l, SortCompareData r) => r.GetSortValueQuestResult() - l.GetSortValueQuestResult());
                resultReward.dropItemIconData = list3.ToArray();
                dropItemNum += resultReward.dropItemIconData.Length;
                list.Add(resultReward);
            }
        }
        pointShopResultData = (MonoBehaviourSingleton <InGameManager> .I.rushPointShops ?? new List <PointShopResultData>());
        resultRewards       = list.ToArray();
        firstRewards        = list2.ToArray();
        dropLineNum         = (dropItemNum - 1) / 5 + 1;
    }