备份CatanBuilding瘦身独立工程
This commit is contained in:
86
Assets/Scripts/Duel/UI/EventFishingDuelRankPopupPanel.cs
Normal file
86
Assets/Scripts/Duel/UI/EventFishingDuelRankPopupPanel.cs
Normal file
@@ -0,0 +1,86 @@
|
||||
using asap.core;
|
||||
using cfg;
|
||||
using GameCore;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class EventFishingDuelRankPopupPanel : MonoBehaviour
|
||||
{
|
||||
List<Button> buttons;
|
||||
List<Image> icon_ranks;
|
||||
List<TMP_Text> txt_ranks;
|
||||
List<TMP_Text> text_points;
|
||||
List<GameObject> selecteds;
|
||||
List<RewardItemNew> rewardItemNews;
|
||||
List<EventSolomain> data;
|
||||
Button btn_close;
|
||||
FishingDuelManager fishingDuelManager;
|
||||
private void Awake()
|
||||
{
|
||||
fishingDuelManager = GContext.container.Resolve<FishingDuelManager>();
|
||||
buttons = new List<Button>();
|
||||
icon_ranks = new List<Image>();
|
||||
txt_ranks = new List<TMP_Text>();
|
||||
text_points = new List<TMP_Text>();
|
||||
selecteds = new List<GameObject>();
|
||||
for (int i = 1; i < 8; i++)
|
||||
{
|
||||
buttons.Add(transform.Find($"root/rank{i}/btn_green").GetComponent<Button>());
|
||||
icon_ranks.Add(transform.Find($"root/rank{i}/btn_green/icon_rank").GetComponent<Image>());
|
||||
txt_ranks.Add(transform.Find($"root/rank{i}/btn_green/text_rank").GetComponent<TMP_Text>());
|
||||
text_points.Add(transform.Find($"root/rank{i}/btn_green/text_point").GetComponent<TMP_Text>());
|
||||
selecteds.Add(transform.Find($"root/rank{i}/btn_green/selected").gameObject);
|
||||
}
|
||||
|
||||
rewardItemNews = new List<RewardItemNew>();
|
||||
Transform layout_reward = transform.Find("root/layout_reward");
|
||||
for (int i = 0; i < layout_reward.childCount; i++)
|
||||
{
|
||||
rewardItemNews.Add(layout_reward.GetChild(i).GetComponent<RewardItemNew>());
|
||||
}
|
||||
|
||||
btn_close = transform.Find("btn_close").GetComponent<Button>();
|
||||
}
|
||||
void Start()
|
||||
{
|
||||
data = GContext.container.Resolve<Tables>().TbEventSolomain.DataList;
|
||||
IUIService uiService = GContext.container.Resolve<IUIService>();
|
||||
for (int i = 0; i < buttons.Count; i++)
|
||||
{
|
||||
int index = 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);
|
||||
buttons[i].onClick.AddListener(() => SetRewardPanel(index));
|
||||
if (data[i].RankTier == fishingDuelManager.eventSolomain.RankTier)
|
||||
{
|
||||
SetRewardPanel(index);
|
||||
}
|
||||
}
|
||||
btn_close.onClick.AddListener(() => UIManager.Instance.DestroyUI(UITypes.EventFishingDuelRankPopupPanel));
|
||||
|
||||
}
|
||||
|
||||
void SetRewardPanel(int index)
|
||||
{
|
||||
var rank = data[index];
|
||||
List<ItemData> itemDatas = GContext.container.Resolve<PlayerItemData>().GetItemDataByDropId(rank.WinReward);
|
||||
for (int i = 0; i < rewardItemNews.Count; i++)
|
||||
{
|
||||
if (i < itemDatas.Count)
|
||||
{
|
||||
rewardItemNews[i].SetData(itemDatas[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
rewardItemNews[i].gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < selecteds.Count; i++)
|
||||
{
|
||||
selecteds[i].SetActive(i == index);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user