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(); } }
public override void Initialize() { object eventData = GameSection.GetEventData(); DeliveryRewardList deliveryRewardList = eventData as DeliveryRewardList; if (deliveryRewardList != null) { reward = deliveryRewardList.delivery; sell = deliveryRewardList.sell; isDelivery = true; } else { StoryRewardList storyRewardList = eventData as StoryRewardList; if (storyRewardList != null) { reward = storyRewardList.story; isStoryComplete = true; } } base.Initialize(); }
public static void DevideRewardDropAndEvent(QuestCompleteReward reward, ref QuestCompleteReward dropReward, ref QuestCompleteReward eventReward, ref List <string> eventRewardTitles) { List <string> list = new List <string>(); 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].crystal; eventReward.eventPrice.Add(reward.eventPrice[i]); list.Add(reward.eventPrice[i].rewardTitle); } dropReward.money += Mathf.Max(0, reward.money - num); dropReward.crystal += Mathf.Max(0, reward.crystal - num2); for (int j = 0; j < reward.item.Count; j++) { if (string.IsNullOrEmpty(reward.item[j].rewardTitle)) { dropReward.item.Add(reward.item[j]); } else { 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)) { dropReward.skillItem.Add(reward.skillItem[k]); } else { 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)) { dropReward.equipItem.Add(reward.equipItem[l]); } else { 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)) { dropReward.questItem.Add(reward.questItem[m]); } else { eventReward.questItem.Add(reward.questItem[m]); list.Add(reward.questItem[m].rewardTitle); } } if (eventRewardTitles == null) { eventRewardTitles = new List <string>(); } for (int n = 0; n < list.Count; n++) { if (!eventRewardTitles.Contains(list[n])) { eventRewardTitles.Add(list[n]); } } }
private void OpenAllEventRewardDialog(Action endCallback) { eventRewardIndex = 0; eventRewardList = new List <QuestCompleteReward>(); for (int i = 0; i < eventRewardTitles.Count; i++) { QuestCompleteReward item = new QuestCompleteReward(); eventRewardList.Add(item); } ResultReward[] array = resultRewards; foreach (ResultReward resultReward in array) { QuestCompleteReward eventReward = resultReward.eventReward; for (int k = 0; k < eventReward.eventPrice.Count; k++) { for (int l = 0; l < eventRewardTitles.Count; l++) { if (eventRewardTitles[l] == eventReward.eventPrice[k].rewardTitle) { eventRewardList[l].eventPrice.Add(eventReward.eventPrice[k]); } } } for (int m = 0; m < eventReward.item.Count; m++) { for (int n = 0; n < eventRewardTitles.Count; n++) { if (eventRewardTitles[n] == eventReward.item[m].rewardTitle) { eventRewardList[n].item.Add(eventReward.item[m]); } } } for (int num = 0; num < eventReward.skillItem.Count; num++) { for (int num2 = 0; num2 < eventRewardTitles.Count; num2++) { if (eventRewardTitles[num2] == eventReward.skillItem[num].rewardTitle) { eventRewardList[num2].skillItem.Add(eventReward.skillItem[num]); } } } for (int num3 = 0; num3 < eventReward.equipItem.Count; num3++) { for (int num4 = 0; num4 < eventRewardTitles.Count; num4++) { if (eventRewardTitles[num4] == eventReward.equipItem[num3].rewardTitle) { eventRewardList[num4].equipItem.Add(eventReward.equipItem[num3]); } } } for (int num5 = 0; num5 < eventReward.questItem.Count; num5++) { for (int num6 = 0; num6 < eventRewardTitles.Count; num6++) { if (eventRewardTitles[num6] == eventReward.questItem[num5].rewardTitle) { eventRewardList[num6].questItem.Add(eventReward.questItem[num5]); } } } } if (eventRewardList.Count == 0) { endCallback?.Invoke(); } else { OpenEventRewardDialog(eventRewardList[eventRewardIndex], eventRewardTitles[eventRewardIndex], endCallback); eventRewardIndex++; } }
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]); } } }
public override void UpdateUI() { //IL_031e: Unknown result type (might be due to invalid IL or missing references) SetFullScreenButton((Enum)UI.BTN_SKIP_FULL_SCREEN); SetHeight((Enum)UI.BTN_SKIP_IN_SCROLL, dropLineNum * 100); SetActive((Enum)UI.BTN_NEXT, false); QuestTable.QuestTableData questData = Singleton <QuestTable> .I.GetQuestData(MonoBehaviourSingleton <QuestManager> .I.currentQuestID); SetLabelText((Enum)UI.LBL_QUEST_NAME, questData.questText); string text = string.Format(StringTable.Get(STRING_CATEGORY.RUSH_WAVE, 10004400u), MonoBehaviourSingleton <InGameManager> .I.GetCurrentWaveNum()); SetLabelText((Enum)UI.LBL_WAVE, text); SetLabelText((Enum)UI.LBL_TIME, MonoBehaviourSingleton <InGameProgress> .I.GetRushRemainTimeToString()); SetActive((Enum)UI.GET_ITEM, true); int num = 0; if (isVictory) { List <QuestCompleteRewardList> rushRewards = MonoBehaviourSingleton <InGameManager> .I.rushRewards; SetTable(GetCtrl(UI.OBJ_TREASURE_ROOT), UI.TBL_DROP_ITEM, "RushWaveDropItem", resultRewards.Length, true, delegate(int i, Transform t, bool is_recycle) { t.set_name("wave" + MonoBehaviourSingleton <InGameManager> .I.GetWaveNum(i)); SetDropItemIcon(resultRewards[i].dropItemIconData, t, MonoBehaviourSingleton <InGameManager> .I.GetWaveNum(i)); }); for (int j = 0; j < rushRewards.Count; j++) { QuestCompleteRewardList questCompleteRewardList = rushRewards[j]; QuestCompleteReward dropReward = resultRewards[j].dropReward; QuestCompleteReward breakReward = questCompleteRewardList.breakReward; QuestCompleteReward order = questCompleteRewardList.order; num = num + dropReward.money + breakReward.money + order.money; } if (firstRewards.Length > 0) { SetActive((Enum)UI.OBJ_ARRIVAL_EFFECT_ROOT, true); int index = MonoBehaviourSingleton <InGameManager> .I.GetRushIndex() - ((MonoBehaviourSingleton <InGameProgress> .I.progressEndType != InGameProgress.PROGRESS_END_TYPE.QUEST_VICTORY) ? 1 : 0); int waveNum = MonoBehaviourSingleton <InGameManager> .I.GetWaveNum(index); UISprite component = GetCtrl(UI.SPR_WAVE_01).GetComponent <UISprite>(); UISprite component2 = GetCtrl(UI.SPR_WAVE_10).GetComponent <UISprite>(); UISprite component3 = GetCtrl(UI.SPR_WAVE_100).GetComponent <UISprite>(); string text2 = waveNum.ToString("D3"); component.spriteName = "RushArrival_Wave_Txt_" + text2[2]; component2.spriteName = "RushArrival_Wave_Txt_" + text2[1]; component3.spriteName = ((waveNum < 100) ? string.Empty : ("RushArrival_Wave_Txt_" + text2[0])); SetActive((Enum)UI.OBJ_ARRIVAL_EFFECT_ROOT, false); SetActive((Enum)UI.OBJ_ARRIVAL_BONUS, true); SetGrid(UI.GRD_ARRIVAL_ITEM_ICON, "ItemIconReward", firstRewards.Length, true, delegate(int i, Transform t, bool is_recycle) { //IL_0031: Unknown result type (might be due to invalid IL or missing references) PointEventCurrentData.Reward reward = firstRewards[i]; ItemIcon.CreateRewardItemIcon((REWARD_TYPE)reward.type, (uint)reward.itemId, t, reward.num, null, 0, false, -1, false, null, false, false, ItemIcon.QUEST_ICON_SIZE_TYPE.DEFAULT); t.FindChild("itemNum").GetComponent <UILabel>().text = "×" + firstRewards[i].num; }); SetActive((Enum)UI.OBJ_ARRIVAL_BONUS, false); } } SetLabelText((Enum)UI.LBL_REWARD_GOLD, num.ToString("N0")); bool flag = pointShopResultData.Count > 0; SetActive((Enum)UI.OBJ_POINT_SHOP_RESULT_ROOT, flag); if (flag) { SetGrid(UI.OBJ_POINT_SHOP_RESULT_ROOT, "QuestResultPointShop", pointShopResultData.Count, true, delegate(int i, Transform t, bool b) { ResetTween(t, 0); PointShopResultData pointShopResultData = base.pointShopResultData[i]; SetActive(t, UI.OBJ_NORMAL_POINT_SHOP_ROOT, !pointShopResultData.isEvent); if (!pointShopResultData.isEvent) { SetLabelText(t, UI.LBL_NORMAL_GET_POINT_SHOP, string.Format("+" + StringTable.Get(STRING_CATEGORY.POINT_SHOP, 2u), pointShopResultData.getPoint)); SetLabelText(t, UI.LBL_NORMAL_TOTAL_POINT_SHOP, string.Format(StringTable.Get(STRING_CATEGORY.POINT_SHOP, 2u), pointShopResultData.totalPoint)); UITexture component4 = FindCtrl(t, UI.TEX_NORMAL_POINT_SHOP_ICON).GetComponent <UITexture>(); ResourceLoad.LoadPointIconImageTexture(component4, (uint)pointShopResultData.pointShopId); } SetActive(t, UI.OBJ_EVENT_POINT_SHOP_ROOT, pointShopResultData.isEvent); if (pointShopResultData.isEvent) { SetLabelText(t, UI.LBL_EVENT_GET_POINT_SHOP, string.Format("+" + StringTable.Get(STRING_CATEGORY.POINT_SHOP, 2u), pointShopResultData.getPoint)); SetLabelText(t, UI.LBL_EVENT_TOTAL_POINT_SHOP, string.Format(StringTable.Get(STRING_CATEGORY.POINT_SHOP, 2u), pointShopResultData.totalPoint)); UITexture component5 = FindCtrl(t, UI.TEX_EVENT_POINT_SHOP_ICON).GetComponent <UITexture>(); ResourceLoad.LoadPointIconImageTexture(component5, (uint)pointShopResultData.pointShopId); } }); } this.StartCoroutine(PlayAnimation()); }
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; }
public override void UpdateUI() { //IL_0306: Unknown result type (might be due to invalid IL or missing references) allPointEvents = new PointEventCurrentData(); allPointEvents.pointRankingData = new PointEventCurrentData.PointResultData(); isVictory = (MonoBehaviourSingleton <QuestManager> .I.arenaCompData != null); SetFullScreenButton((Enum)UI.BTN_SKIP_FULL_SCREEN); SetActive((Enum)UI.BTN_NEXT, false); SetActive((Enum)UI.BTN_RETRY, false); SetActive((Enum)UI.OBJ_TIME, false); SetActive((Enum)UI.OBJ_CLEAR_EFFECT_ROOT, false); SetActive((Enum)UI.OBJ_CLEAR_EFFECT, false); SetActive((Enum)UI.OBJ_RANK_UP_ROOT, false); SetActive((Enum)UI.OBJ_CONGRATULATIONS_ROOT, false); if (m_isTimeAttack) { SetActive((Enum)UI.OBJ_REMAIN_TIME, false); if (isVictory) { SetActive((Enum)UI.OBJ_TIME, true); } } string arg = string.Format(StringTable.Get(STRING_CATEGORY.ARENA, 1u), m_rank.ToString()); string arg2 = string.Format(StringTable.Get(STRING_CATEGORY.ARENA, 0u), m_group.ToString()); SetLabelText((Enum)UI.LBL_QUEST_NAME, $"{arg} {arg2}"); List <QuestCompleteRewardList> arenaRewards = MonoBehaviourSingleton <InGameManager> .I.arenaRewards; int num = 0; int num2 = 0; for (int j = 0; j < arenaRewards.Count; j++) { QuestCompleteRewardList questCompleteRewardList = arenaRewards[j]; QuestCompleteReward drop = questCompleteRewardList.drop; QuestCompleteReward breakReward = questCompleteRewardList.breakReward; QuestCompleteReward order = questCompleteRewardList.order; num += drop.exp + breakReward.exp + order.exp; num2 += drop.money + breakReward.money + order.money; } int my_user_id = MonoBehaviourSingleton <UserInfoManager> .I.userInfo.id; InGameRecorder.PlayerRecord playerRecord = MonoBehaviourSingleton <InGameRecorder> .I.players.Find((InGameRecorder.PlayerRecord data) => data.charaInfo.userId == my_user_id); if (playerRecord.beforeLevel >= Singleton <UserLevelTable> .I.GetMaxLevel()) { num = 0; } SetLabelText((Enum)UI.LBL_EXP, num.ToString("N0")); SetLabelText((Enum)UI.LBL_REWARD_GOLD, num2.ToString("N0")); SetLabelText((Enum)UI.LBL_TIME, MonoBehaviourSingleton <InGameProgress> .I.GetArenaRemainTimeToString()); SetLabelText((Enum)UI.LBL_CLEAR_TIME, InGameProgress.GetTimeWithMilliSecToString(0f)); SetActive((Enum)UI.SPR_BESTSCORE, false); if (isVictory) { SetLabelText((Enum)UI.LBL_BEFORE_TIME, InGameProgress.GetTimeWithMilliSecToString((float)(int)MonoBehaviourSingleton <QuestManager> .I.arenaCompData.previousClearMilliSec * 0.001f)); } bool flag = pointShopResultData.Count > 0; SetActive((Enum)UI.OBJ_POINT_SHOP_RESULT_ROOT, flag); if (flag) { SetGrid(UI.OBJ_POINT_SHOP_RESULT_ROOT, "QuestResultPointShop", pointShopResultData.Count, true, delegate(int i, Transform t, bool b) { ResetTween(t, 0); PointShopResultData pointShopResultData = base.pointShopResultData[i]; SetActive(t, UI.OBJ_NORMAL_POINT_SHOP_ROOT, !pointShopResultData.isEvent); if (!pointShopResultData.isEvent) { SetLabelText(t, UI.LBL_NORMAL_GET_POINT_SHOP, string.Format("+" + StringTable.Get(STRING_CATEGORY.POINT_SHOP, 2u), pointShopResultData.getPoint)); SetLabelText(t, UI.LBL_NORMAL_TOTAL_POINT_SHOP, string.Format(StringTable.Get(STRING_CATEGORY.POINT_SHOP, 2u), pointShopResultData.totalPoint)); UITexture component = FindCtrl(t, UI.TEX_NORMAL_POINT_SHOP_ICON).GetComponent <UITexture>(); ResourceLoad.LoadPointIconImageTexture(component, (uint)pointShopResultData.pointShopId); } SetActive(t, UI.OBJ_EVENT_POINT_SHOP_ROOT, pointShopResultData.isEvent); if (pointShopResultData.isEvent) { SetLabelText(t, UI.LBL_EVENT_GET_POINT_SHOP, string.Format("+" + StringTable.Get(STRING_CATEGORY.POINT_SHOP, 2u), pointShopResultData.getPoint)); SetLabelText(t, UI.LBL_EVENT_TOTAL_POINT_SHOP, string.Format(StringTable.Get(STRING_CATEGORY.POINT_SHOP, 2u), pointShopResultData.totalPoint)); UITexture component2 = FindCtrl(t, UI.TEX_EVENT_POINT_SHOP_ICON).GetComponent <UITexture>(); ResourceLoad.LoadPointIconImageTexture(component2, (uint)pointShopResultData.pointShopId); } }); } this.StartCoroutine(PlayAnimation()); }