110 lines
4.0 KiB
C#
110 lines
4.0 KiB
C#
using asap.core;
|
|
using cfg;
|
|
using GameCore;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class EventFishingDuelRankChangePopupPanel : BasePanel
|
|
{
|
|
Button closeButton;
|
|
Button mask;
|
|
GameObject rankUpPanel;
|
|
GameObject rankDownPanel;
|
|
Image last_icon_rank;
|
|
TMP_Text last_text_rank;
|
|
Image this_icon_rank;
|
|
TMP_Text this_text_rank;
|
|
Image next_icon_rank;
|
|
TMP_Text next_text_rank;
|
|
Animation ani;
|
|
private void Awake()
|
|
{
|
|
ani = GetComponent<Animation>();
|
|
mask = transform.Find("mask").GetComponent<Button>();
|
|
closeButton = transform.Find("btn_close").GetComponent<Button>();
|
|
rankUpPanel = transform.Find("root_promote").gameObject;
|
|
rankDownPanel = transform.Find("root_demote").gameObject;
|
|
closeButton.onClick.AddListener(ClosePanel);
|
|
//mask.onClick.AddListener(ClosePanel);
|
|
}
|
|
|
|
public void SetRank(bool isUp, EventSolomain solomain)
|
|
{
|
|
var _tables = GContext.container.Resolve<Tables>();
|
|
var data = _tables.TbEventSolomain.DataList;
|
|
int count = data.Count;
|
|
EventSolomain lastSolomain = null;
|
|
EventSolomain thisSolomain = null;
|
|
EventSolomain nextSolomain = null;
|
|
int index = solomain.RankTier - 1;
|
|
GameObject root = rankUpPanel;
|
|
if (isUp)
|
|
{
|
|
rankUpPanel.SetActive(true);
|
|
rankDownPanel.SetActive(false);
|
|
if (index >= 2)
|
|
{
|
|
lastSolomain = data[index - 2];
|
|
ani.Play("EventFishingDuelRankChangePromotedShow");
|
|
}
|
|
else
|
|
{
|
|
ani.Play("EventFishingDuelRankChangePromotedLastShow");
|
|
}
|
|
if (index >= 1)
|
|
{
|
|
thisSolomain = data[index - 1];
|
|
}
|
|
nextSolomain = solomain;
|
|
}
|
|
else
|
|
{
|
|
rankUpPanel.SetActive(false);
|
|
rankDownPanel.SetActive(true);
|
|
root = rankDownPanel;
|
|
lastSolomain = solomain;
|
|
if (index + 1 < count)
|
|
{
|
|
thisSolomain = data[index + 1];
|
|
}
|
|
if (index + 2 < count)
|
|
{
|
|
nextSolomain = data[index + 2];
|
|
ani.Play("EventFishingDuelRankChangeDemoteShow");
|
|
}
|
|
else
|
|
{
|
|
ani.Play("EventFishingDuelRankChangeDemotedFirstShow");
|
|
}
|
|
}
|
|
if (lastSolomain != null)
|
|
{
|
|
last_icon_rank = root.transform.Find("object_last_rank/icon_last_rank").GetComponent<Image>();
|
|
last_text_rank = root.transform.Find("object_last_rank/text_rank").GetComponent<TMP_Text>();
|
|
GContext.container.Resolve<IUIService>().SetImageSprite(last_icon_rank, lastSolomain.RankIcon);
|
|
last_text_rank.text = LocalizationMgr.GetText(lastSolomain.RankText_l10n_key);
|
|
}
|
|
if (thisSolomain != null)
|
|
{
|
|
this_icon_rank = root.transform.Find("object_this_rank/icon_this_rank").GetComponent<Image>();
|
|
this_text_rank = root.transform.Find("object_this_rank/text_rank").GetComponent<TMP_Text>();
|
|
GContext.container.Resolve<IUIService>().SetImageSprite(this_icon_rank, thisSolomain.RankIcon);
|
|
this_text_rank.text = LocalizationMgr.GetText(thisSolomain.RankText_l10n_key);
|
|
}
|
|
if (nextSolomain != null)
|
|
{
|
|
next_icon_rank = root.transform.Find("object_next_rank/icon_next_rank").GetComponent<Image>();
|
|
next_text_rank = root.transform.Find("object_next_rank/text_rank").GetComponent<TMP_Text>();
|
|
GContext.container.Resolve<IUIService>().SetImageSprite(next_icon_rank, nextSolomain.RankIcon);
|
|
next_text_rank.text = LocalizationMgr.GetText(nextSolomain.RankText_l10n_key);
|
|
}
|
|
}
|
|
async void ClosePanel()
|
|
{
|
|
ani.Play("popup_common_out");
|
|
await Awaiters.Seconds(0.25f);
|
|
UIManager.Instance.DestroyUI(UITypes.EventFishingDuelRankChangePopupPanel);
|
|
}
|
|
}
|