115 lines
4.8 KiB
C#
115 lines
4.8 KiB
C#
using asap.core;
|
|
using cfg;
|
|
using game;
|
|
using GameCore;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class DuelInfoPopupPanel : MonoBehaviour
|
|
{
|
|
Image icon_rank;
|
|
Head head;
|
|
Head head1;
|
|
TMP_Text text_info;
|
|
List<Image> icon_ranks;
|
|
List<TMP_Text> txt_ranks;
|
|
List<TMP_Text> text_points;
|
|
DuelRankRewardItem duelRankRewardItem;
|
|
DuelRankRewardItem duelRankRewardItem1;
|
|
FishingEventData fishingEventData;
|
|
IUserService userService;
|
|
IUIService uiService;
|
|
private void Awake()
|
|
{
|
|
fishingEventData = GContext.container.Resolve<FishingEventData>();
|
|
userService = GContext.container.Resolve<IUserService>();
|
|
uiService = GContext.container.Resolve<IUIService>();
|
|
icon_rank = transform.Find("root/page1/info1/btn_rank/icon").GetComponent<Image>();
|
|
head = transform.Find("root/page1/info3/btn_head").GetComponent<Head>();
|
|
head1 = transform.Find("root/page2/info3/player_info/btn_head").GetComponent<Head>();
|
|
text_info = transform.Find("root/page1/info1/text_info").GetComponent<TMP_Text>();
|
|
icon_ranks = new List<Image>();
|
|
txt_ranks = new List<TMP_Text>();
|
|
text_points = new List<TMP_Text>();
|
|
for (int i = 1; i < 8; i++)
|
|
{
|
|
icon_ranks.Add(transform.Find($"root/page3/info1/rank/rank{i}/btn_green/icon_rank").GetComponent<Image>());
|
|
txt_ranks.Add(transform.Find($"root/page3/info1/rank/rank{i}/btn_green/text_rank").GetComponent<TMP_Text>());
|
|
text_points.Add(transform.Find($"root/page3/info1/rank/rank{i}/btn_green/text_point").GetComponent<TMP_Text>());
|
|
}
|
|
duelRankRewardItem = transform.Find("root/page3/info2/item1").GetComponent<DuelRankRewardItem>();
|
|
duelRankRewardItem1 = transform.Find("root/page3/info2/item2").GetComponent<DuelRankRewardItem>();
|
|
}
|
|
private void Start()
|
|
{
|
|
uiService.SetImageSprite(icon_rank, fishingEventData.rankInit.Icon);
|
|
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<Tables>().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> eventSolomain = GContext.container.Resolve<Tables>().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<ItemData> rewardItemData = GContext.container.Resolve<PlayerItemData>()
|
|
.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<PlayerItemData>()
|
|
.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);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|