| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 | using System;using Core.Language;using Excel2Json;using Fort23.Core;using Fort23.UTool;using GameLogic.Bag;using UnityEngine;namespace Fort23.Mono{    [UIBinding(prefab = "SelectBreakthroughItemPanel")]    public partial class SelectBreakthroughItemPanel : UIPanel    {        ItemConfig itemConfig;        private Action callBack;                private Transform weidgetFater;        BreakthroughItemWidget breakthrough;        private void Init()        {            IsShowAppBar = false;            isAddStack = true;        }        protected override void AddEvent()        {        }        protected override void DelEvent()        {        }        public override void AddButtonEvent()        {            Btn_Close.onClick.AddListener(() =>            {                UIManager.Instance.HideUIUIPanel(this);            });            Btn_Affirm.onClick.AddListener(() =>            {                this.callBack?.Invoke();                EventManager.Instance.Dispatch(CustomEventType.RefenceBreakthrough, null);                UIManager.Instance.HideUIUIPanel(this);            });            Btn_Cancel.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });                        Btn_Source.onClick.AddListener(() =>            {                ItemSourcePanel.OpenPanel(itemConfig.ID);            });        }        public void CustomInit(BreakthroughItemWidget breakthroughItemWidget, Action callBack)        {            this.callBack = callBack;            breakthrough = breakthroughItemWidget;            weidgetFater = breakthrough.transform.parent;            breakthrough.transform.SetParent(this.transform);            breakthrough.Icon_Select.gameObject.SetActive(true);            itemConfig = ConfigComponent.Instance.Get<ItemConfig>(breakthroughItemWidget.itemId);            Text_ItemName.text = LanguageManager.Instance.Text(itemConfig.itemName);            Text_ItemDesc.text = LanguageManager.Instance.Text(itemConfig.itemDesc);            Icon_ItemIcon.icon_name = itemConfig.icon;            if (itemConfig.itemTag == 3)            {                Text_SucceedDesc.text = $"+{itemConfig.associateVlaue[2]}%";                // Text_FailDesc.text = $"-{itemConfig.associateVlaue[3]}%";            }            else            {                Text_SucceedDesc.text = $"+{itemConfig.associateVlaue[2]}%";            }            if (breakthrough.itemInfo == null)            {                if (PlayerManager.Instance.BagController.IsEnough(breakthroughItemWidget.itemId, 1))                {                    Text_Affirm.text = "使用";                    Btn_Affirm.gameObject.SetActive(true);                    Btn_Cancel.gameObject.SetActive(true);                    Text_NoEnough.gameObject.SetActive(false);                }                else                {                    Btn_Affirm.gameObject.SetActive(false);                    Btn_Cancel.gameObject.SetActive(true);                    Text_NoEnough.gameObject.SetActive(true);                }            }            else            {                Text_Affirm.text = "取消";                Btn_Affirm.gameObject.SetActive(true);                Btn_Cancel.gameObject.SetActive(true);                Text_NoEnough.gameObject.SetActive(false);            }                  }        public async override CTask Close()        {            breakthrough.Icon_Select.gameObject.SetActive(false);            breakthrough.transform.SetParent(weidgetFater);            weidgetFater = null;            breakthrough = null;            callBack = null;            await base.Close();        }        public async static CTask<SelectBreakthroughItemPanel> OpenPanel(BreakthroughItemWidget breakthroughItemWidget, Action callBack)        {            SelectBreakthroughItemPanel selectBreakthroughItemPanel = await UIManager.Instance.LoadAndOpenPanel<SelectBreakthroughItemPanel>(null,UILayer.Middle,isFocus:false);            selectBreakthroughItemPanel.CustomInit(breakthroughItemWidget, callBack);            return selectBreakthroughItemPanel;        }    }}
 |