Files
ft/Client/Assets/Scripts/UI/SandDig/EventSandDigInfoPopupPanelLogic.cs
2026-06-29 21:18:33 +08:00

101 lines
3.3 KiB
C#

using System.Collections.Generic;
using asap.core;
using cfg;
using GameCore;
using Script.RuntimeScript;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public partial class EventSandDigInfoPopupPanelLogic : MonoBehaviour
{
private List<RewardItemNew> _clampRewards = new List<RewardItemNew>();
TMP_Text text_tips;
TMP_Text text_info;
Image _ticket;
protected void Start()
{
_ticket = transform.Find("root/info1/btn_bubble_task/btn_reward/icon").GetComponent<Image>();
text_info = transform.Find("root/info1/text_info").GetComponent<TMP_Text>();
text_tips = transform.Find("root/text_tips").GetComponent<TMP_Text>();
_clampRewards.Add(_reward1);
_clampRewards.Add(_reward2);
_clampRewards.Add(_reward3);
_clampRewards.Add(_reward4);
_close.onClick.AddListener(OnCloseBtn);
UpdateView();
}
private void UpdateView()
{
Tables tables = GContext.container.Resolve<Tables>();
//奖励处理
DiggingStageReward clampConfig;
DiggingGameModel _dataModel = GContext.container.Resolve<DiggingGameManager>().DataModel;
int clampId = _dataModel.AllClamps[^1];
clampConfig = tables.TbDiggingStageReward.Get(clampId);
if (clampConfig != null)
{
List<ItemData> itemData = GContext.container.Resolve<PlayerItemData>().GetItemDataByDropIdLureInflation(_dataModel.InflationRate, clampConfig.DropID);
int count = itemData.Count;
for (int i = 0; i < _clampRewards.Count; i++)
{
if (i >= count)
{
_clampRewards[i].gameObject.SetActive(false);
}
else
{
_clampRewards[i].SetRewardPopupData(itemData[i]);
}
}
}
DiggingActivityInit digActivityConfig = _dataModel.digActivityConfig;
Item item = tables.TbItem[digActivityConfig.TokenID];
GContext.container.Resolve<IUIService>().SetImageSprite(_ticket, item.Icon, BasePanel.PanelName);
string itemName = LocalizationMgr.GetText(item.Name_l10n_key);
text_info.text = LocalizationMgr.GetFormatTextValue("UI_EventSandDigPanel_4", itemName);
text_tips.text = LocalizationMgr.GetFormatTextValue("UI_EventSandDigPanel_7", itemName);
}
private void OnCloseBtn()
{
UIManager.Instance.DestroyUI(UITypes.EventSandDigInfoPopupPanel);
}
}
public class EventSandDigFishQuality
{
public Image Img;
public TextMeshProUGUI Txt;
public EventSandDigFishQuality(Image img, TextMeshProUGUI txt)
{
Img = img;
Txt = txt;
}
public void ShowInfo(int index, int count)
{
List<string> qualityIcon = GContext.container.Resolve<Tables>().TbGlobalConfig.FishQualityIcon;
if (qualityIcon.Count > index)
{
SetVisible(true);
string name = qualityIcon[index];
Txt.text = "+" + count;
GContext.container.Resolve<IUIService>().SetImageSprite(Img, name);
}
else
{
SetVisible(false);
}
}
public void SetVisible(bool boo)
{
Img.gameObject.SetActive(boo);
Txt.gameObject.SetActive(boo);
}
}