using UnityEngine; using FairyGUI; using UI.ActivityAfternoonTea; namespace GFGGame { public class ReWardTipsView : BaseWindow { private UI_RewardTips _ui; private int indexNPC; private EffectUI _effectUI1; private EffectUI _effectUI2; public override void Dispose() { EffectUIPool.Recycle(_effectUI1); _effectUI1 = null; EffectUIPool.Recycle(_effectUI2); _effectUI2 = null; base.Dispose(); if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void Init() { base.Init(); } protected override void OnInit() { base.OnInit(); packageName = UI_RewardTips.PACKAGE_NAME; _ui = UI_RewardTips.Create(); viewCom = _ui.target; isfullScreen = true; _ui.m_btnBack.onClick.Add(Hide); _ui.m_back.onClick.Add(Hide); _ui.m_rewardList.itemRenderer = RenderTaskList; EffectUIPool.CreateEffectUI(_ui.m_effect1, "ui_Activity", "Com_window_L_up", onComplete: (effect) => { if (effect != null) { _effectUI1 = effect; // 可以在这里添加特效加载完成后的逻辑 Debug.Log("背景特效加载完成"); } else { Debug.LogError("背景特效加载失败"); // 可以在这里添加加载失败的处理逻辑 } }); EffectUIPool.CreateEffectUI(_ui.m_effect2, "ui_Activity", "Com_window_R_Down", onComplete: (effect) => { if (effect != null) { _effectUI2 = effect; // 可以在这里添加特效加载完成后的逻辑 Debug.Log("背景特效加载完成"); } else { Debug.LogError("背景特效加载失败"); // 可以在这里添加加载失败的处理逻辑 } }); } protected override void OnShown() { base.OnShown(); indexNPC = (int)this.viewData; _ui.m_name.text = CommonDataManager.Tables.TblActivityVisitCfg.DataList[indexNPC].Name + "的奖励"; _ui.m_rewardList.numItems = CommonDataManager.Tables.TblActivityVisitCfg.DataList[indexNPC].Bonus.Count; } protected override void OnHide() { base.OnHide(); } private void RenderTaskList(int index, GObject obj) { UI_RewardTipsItemUI item = UI_RewardTipsItemUI.Proxy(obj); int resID = CommonDataManager.Tables.TblActivityVisitCfg.DataList[indexNPC].Bonus[index].ItemId; item.m_rewardName.text = CommonDataManager.Tables.TblItemCfg.GetOrDefault(resID).Name; item.m_rewardIcon.url = ResPathUtil.GetIconPath(CommonDataManager.Tables.TblItemCfg.GetOrDefault(resID)); item.m_rewardNum.text = CommonDataManager.Tables.TblActivityVisitCfg.DataList[indexNPC].Bonus[index].Count .ToString(); if (item.target.data == null) { item.target.onClick.Add(OnClickVisitBtn); } item.target.data = resID; UI_RewardTipsItemUI.ProxyEnd(); } private void OnClickVisitBtn(EventContext context) { if (!(context.sender is GObject btnVisit)) return; int itemID = (int)btnVisit.data; GoodsItemTipsController.ShowItemTips(itemID); } } }