using asap.core; using cfg; using game; using GameCore; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; public class DuelInfoPopupPanel : MonoBehaviour { //EventFishingDuelInfoPopupPanel Image icon_rank; Image icon_ticket1; Image icon_ticket2; TMP_Text text_num1; TMP_Text text_num2; Head head; Head head1; TMP_Text text_info; List icon_ranks; List txt_ranks; List text_points; DuelRankRewardItem duelRankRewardItem; DuelRankRewardItem duelRankRewardItem1; FishingEventData fishingEventData; IUserService userService; IUIService uiService; private void Awake() { fishingEventData = GContext.container.Resolve(); userService = GContext.container.Resolve(); uiService = GContext.container.Resolve(); icon_rank = transform.Find("root/page1/info2/btn_rank/icon").GetComponent(); icon_ticket1 = transform.Find("root/page1/info1/bg/content/way1/text_num/icon_ticket").GetComponent(); icon_ticket2 = transform.Find("root/page1/info1/bg/content/way2/text_num/icon_ticket").GetComponent(); text_num1 = transform.Find("root/page1/info1/bg/content/way1/text_num").GetComponent(); text_num2 = transform.Find("root/page1/info1/bg/content/way2/text_num").GetComponent(); head = transform.Find("root/page1/info4/btn_head").GetComponent(); head1 = transform.Find("root/page2/info3/player_info/btn_head").GetComponent(); text_info = transform.Find("root/page1/info2/text_info").GetComponent(); icon_ranks = new List(); txt_ranks = new List(); text_points = new List(); for (int i = 1; i < 8; i++) { icon_ranks.Add(transform.Find($"root/page3/info1/rank/rank{i}/btn_green/icon_rank").GetComponent()); txt_ranks.Add(transform.Find($"root/page3/info1/rank/rank{i}/btn_green/text_rank").GetComponent()); text_points.Add(transform.Find($"root/page3/info1/rank/rank{i}/btn_green/text_point").GetComponent()); } duelRankRewardItem = transform.Find("root/page3/info2/item1").GetComponent(); duelRankRewardItem1 = transform.Find("root/page3/info2/item2").GetComponent(); } private void Start() { if (fishingEventData.rankInit != null) { uiService.SetImageSprite(icon_rank, fishingEventData.rankInit.Icon); uiService.SetImageSprite(icon_ticket1, fishingEventData.rankInit.Icon); uiService.SetImageSprite(icon_ticket2, fishingEventData.rankInit.Icon); text_num1.text = $"{fishingEventData.rankInit.PointRobbery[1]} - {fishingEventData.rankInit.PointRobbery[2]}"; text_num2.text = $"{fishingEventData.rankInit.PointDestruction[0]} - {fishingEventData.rankInit.PointDestruction[2]}"; } //string title = LocalizationMgr.GetText(fishingEventData.rankInit.Title_l10n_key); //text_info.text = LocalizationMgr.GetFormatTextValue("UI_EventFishingDuelPanel_51", title); head.SetData(userService.AvatarUrl); head1.SetData(userService.AvatarUrl); var data = GContext.container.Resolve().TbEventSolomain.DataList; for (int i = 0; i < txt_ranks.Count; i++) { txt_ranks[i].text = LocalizationMgr.GetText(data[i].RankText_l10n_key); text_points[i].text = data[i].TrophyRange[0].ToString(); uiService.SetImageSprite(icon_ranks[i], data[i].RankIcon); } ShowReward(); } void ShowReward() { List eventSolomain = GContext.container.Resolve().TbEventSolomain.DataList; int count = eventSolomain.Count; int index = count / 2; EventSolomain solomain = eventSolomain[index]; uiService.SetImageSprite(duelRankRewardItem.icon_rank, solomain.RankIcon); duelRankRewardItem.text_rank.text = LocalizationMgr.GetText(solomain.RankText_l10n_key); duelRankRewardItem.text_point.text = solomain.TrophyRange[0].ToString(); List rewardItemData = GContext.container.Resolve() .GetItemDataByDropId(solomain.SeasonReward); if (rewardItemData != null) { int dataCount = rewardItemData.Count; int rewardCount = duelRankRewardItem.rewardItems.Count; for (int j = 0; j < rewardCount; j++) { if (j < dataCount) { duelRankRewardItem.rewardItems[j].SetData(rewardItemData[j]); } else { duelRankRewardItem.rewardItems[j].gameObject.SetActive(false); } } } solomain = eventSolomain[index - 1]; uiService.SetImageSprite(duelRankRewardItem1.icon_rank, solomain.RankIcon); duelRankRewardItem1.text_rank.text = LocalizationMgr.GetText(solomain.RankText_l10n_key); duelRankRewardItem1.text_point.text = solomain.TrophyRange[0].ToString(); rewardItemData = GContext.container.Resolve() .GetItemDataByDropId(solomain.SeasonReward); if (rewardItemData != null) { int dataCount = rewardItemData.Count; int rewardCount = duelRankRewardItem1.rewardItems.Count; for (int j = 0; j < rewardCount; j++) { if (j < dataCount) { duelRankRewardItem1.rewardItems[j].SetData(rewardItemData[j]); } else { duelRankRewardItem1.rewardItems[j].gameObject.SetActive(false); } } } } }