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(); }
private void DevideRewardDropAndEvent(ResultReward resultReward, QuestCompleteReward reward) { resultReward.dropReward = new QuestCompleteReward(); resultReward.eventReward = new QuestCompleteReward(); List <string> list = new List <string>(); resultReward.dropReward.exp = reward.exp; int num = 0; int num2 = 0; for (int i = 0; i < reward.eventPrice.Count; i++) { num += reward.eventPrice[i].gold; num2 += reward.eventPrice[i].gold; resultReward.eventReward.eventPrice.Add(reward.eventPrice[i]); list.Add(reward.eventPrice[i].rewardTitle); } resultReward.dropReward.money = Mathf.Max(0, reward.money - num); resultReward.dropReward.crystal = Mathf.Max(0, reward.crystal - num2); for (int j = 0; j < reward.item.Count; j++) { if (string.IsNullOrEmpty(reward.item[j].rewardTitle)) { resultReward.dropReward.item.Add(reward.item[j]); } else { resultReward.eventReward.item.Add(reward.item[j]); list.Add(reward.item[j].rewardTitle); } } for (int k = 0; k < reward.skillItem.Count; k++) { if (string.IsNullOrEmpty(reward.skillItem[k].rewardTitle)) { resultReward.dropReward.skillItem.Add(reward.skillItem[k]); } else { resultReward.eventReward.skillItem.Add(reward.skillItem[k]); list.Add(reward.skillItem[k].rewardTitle); } } for (int l = 0; l < reward.equipItem.Count; l++) { if (string.IsNullOrEmpty(reward.equipItem[l].rewardTitle)) { resultReward.dropReward.equipItem.Add(reward.equipItem[l]); } else { resultReward.eventReward.equipItem.Add(reward.equipItem[l]); list.Add(reward.equipItem[l].rewardTitle); } } for (int m = 0; m < reward.questItem.Count; m++) { if (string.IsNullOrEmpty(reward.questItem[m].rewardTitle)) { resultReward.dropReward.questItem.Add(reward.questItem[m]); } else { resultReward.eventReward.questItem.Add(reward.questItem[m]); list.Add(reward.questItem[m].rewardTitle); } } for (int n = 0; n < list.Count; n++) { if (!eventRewardTitles.Contains(list[n])) { eventRewardTitles.Add(list[n]); } } }
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; }