100 lines
3.4 KiB
C#
100 lines
3.4 KiB
C#
|
|
using asap.core;
|
|
using GameCore;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class EventBingoBattlePassPanel : MiniBattlePassFirstPanel
|
|
{
|
|
protected override int showCount => 3;
|
|
|
|
Image bar;
|
|
TMP_Text text_num_bar;
|
|
TMP_Text text_num_level;
|
|
Button btn_questionmark;
|
|
GameObject info_tips;
|
|
Button btn_close_tips;
|
|
TMP_Text text_content;
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
bar = transform.Find("root/bar/bg_bar/bar").GetComponent<Image>();
|
|
text_num_bar = transform.Find("root/bar/bg_bar/text_num").GetComponent<TMP_Text>();
|
|
text_num_level = transform.Find("root/bar/level/text_num").GetComponent<TMP_Text>();
|
|
btn_questionmark = transform.Find("root/btn_questionmark").GetComponent<Button>();
|
|
info_tips = transform.Find("root/info_tips").gameObject;
|
|
btn_close_tips = info_tips.transform.Find("btn_close").GetComponent<Button>();
|
|
text_content = info_tips.transform.Find("item/text_content").GetComponent<TMP_Text>();
|
|
timerFormat = "{0}";
|
|
}
|
|
protected override void Start()
|
|
{
|
|
if (miniBP.ItemShow[0] == 1001)
|
|
{
|
|
int showCount = 0;
|
|
var miniBPItemDatas = miniBP.miniBPItemDatas;
|
|
ItemData itemData;
|
|
for (int i = 0; i < miniBPItemDatas.Count; i++)
|
|
{
|
|
itemData = miniBPItemDatas[i].freeReward;
|
|
if (itemData.id == 1001)
|
|
{
|
|
showCount += itemData.count;
|
|
}
|
|
itemData = miniBPItemDatas[i].grandReward;
|
|
if (itemData.id == 1001)
|
|
{
|
|
showCount += itemData.count;
|
|
}
|
|
}
|
|
miniBP.ItemCountShow[0] = showCount;
|
|
}
|
|
base.Start();
|
|
|
|
var progressList = miniBP.ProgressList;
|
|
int nextlv = miniBP.rewardIndex + 1;
|
|
if (nextlv < progressList.Count)
|
|
{
|
|
int startExp = 0;
|
|
if (nextlv > 0)
|
|
{
|
|
startExp = progressList[nextlv - 1];
|
|
}
|
|
int curExp = miniBP.Data.Exp - startExp;
|
|
int curMax = progressList[nextlv] - startExp;
|
|
text_num_bar.text = $"{curExp}/{curMax}";
|
|
bar.fillAmount = curExp / (float)curMax;
|
|
text_num_level.text = GetLvlDisplay(nextlv, miniBP).ToString();
|
|
}
|
|
else
|
|
{
|
|
bar.fillAmount = 1f;
|
|
text_num_bar.text = LocalizationMgr.GetText("UI_FishingRodPanel_Advanced_18");
|
|
text_num_level.text = GetLvlDisplay(nextlv, miniBP).ToString();
|
|
}
|
|
btn_questionmark.onClick.AddListener(() =>
|
|
{
|
|
info_tips.SetActive(true);
|
|
});
|
|
info_tips.SetActive(false);
|
|
btn_close_tips.onClick.AddListener(() =>
|
|
{
|
|
info_tips.SetActive(false);
|
|
});
|
|
var bingoTicketName = LocalizationMgr.GetText(GContext.container.Resolve<EventBingoModel>().Ctx.GetTicketNameKey());
|
|
text_content.text = LocalizationMgr.GetFormatTextValue(miniBP.TaskDesc, bingoTicketName);
|
|
text_buy.text = LocalizationMgr.GetFormatTextValue("UI_MiniBattlePass_FishcardPanel_2", text_buy.text);
|
|
}
|
|
|
|
private int GetLvlDisplay(int lv, MiniBattlePassDataModel miniBPData)
|
|
{
|
|
if (lv + 1 > miniBPData.ProgressList.Count)
|
|
{
|
|
return miniBPData.ProgressList.Count;
|
|
}
|
|
return lv + 1;
|
|
}
|
|
}
|
|
|