| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 | using Core.Language;using Excel2Json;using Fort23.UTool;using GameLogic.Bag;namespace Fort23.Mono{    [UIBinding(prefab = "BreakthroughItemWidget")]    public partial class BreakthroughItemWidget : UIComponent    {        /// <summary>        /// 1.选择丹药 2.其他道具        /// </summary>        private int type;        public int itemId;        public ItemInfo itemInfo;        private void Init()        {        }        public override void AddEvent()        {        }        public override void DelEvent()        {        }        private WidgetItem widgetItem;        bool isSelected = false;        public override void AddButtonEvent()        {            Btn_Select.onClick.AddListener(async () =>            {                if (isSelected)                    return;                isSelected = true;                //打开选择丹药界面                if (type == 1)                {                    SelectElixirPanel selectElixirPanel = await SelectElixirPanel.OpenPanel(this, async (e) =>                    {                        isSelected = false;                        //取消选择丹药                        if (e == null)                        {                            itemInfo = null;                            UIManager.Instance.DormancyGComponent(widgetItem);                            Icon_ItemIcon.gameObject.SetActive(false);                            widgetItem = null;                            Text_Bl.text = $"+{0}";                            Text_ItemName.text = "丹药";                        }                        else                        {                            itemInfo = new ItemInfo(e._itemConfig.ID, 1);                            // if (widgetItem == null)                            // {                            //     widgetItem = await UIManager.Instance.CreateGComponent<WidgetItem>(null, ItemRoot);                            // }                            Icon_ItemIcon.gameObject.SetActive(true);                            Icon_ItemIcon.icon_name = itemInfo.config.icon;                            Text_Bl.text = $"+{itemInfo.config.associateVlaue[2]}";                            Text_ItemName.text = LanguageManager.Instance.Text(itemInfo.config.itemName);                            // widgetItem.InitWidget(itemInfo);                        }                    });                    await selectElixirPanel.UIClosed();                    isSelected = false;                }                else                {                    SelectBreakthroughItemPanel selectBreakthroughItemPanel = await SelectBreakthroughItemPanel.OpenPanel(this, async () =>                    {                        isSelected = false;                        if (itemInfo != null)                        {                            itemInfo = null;                            Icon_ItemIcon.gameObject.SetActive(false);                            UIManager.Instance.DormancyGComponent(widgetItem);                            widgetItem = null;                            return;                        }                        if (PlayerManager.Instance.BagController.IsEnough(itemId, 1))                        {                            itemInfo = new ItemInfo(itemId, 1);                            // if (widgetItem == null)                            // {                            //     widgetItem = await UIManager.Instance.CreateGComponent<WidgetItem>(null, ItemRoot);                            // }                            Icon_ItemIcon.gameObject.SetActive(true);                            Icon_ItemIcon.icon_name = itemInfo.config.icon;                            Text_Bl.text = $"+{itemInfo.config.associateVlaue[2]}";                            Text_ItemName.text = LanguageManager.Instance.Text(itemInfo.config.itemName);                            // widgetItem.InitWidget(itemInfo);                        }                    });                    await selectBreakthroughItemPanel.UIClosed();                    isSelected = false;                }            });        }        public void CustomInit(int type, int itemId,bool isBiXuan)        {            this.type = type;            this.itemId = itemId;            Icon_BiXuan.SetActive(isBiXuan);            if (type == 1)            {                Text_Bl.text = $"+{0}";                Text_ItemName.text = "丹药";            }            else            {                ItemConfig itemConfig = ConfigComponent.Instance.Get<ItemConfig>(itemId);                if (itemConfig.itemTag == 3)                {                    Text_Bl.text = $"+{itemConfig.associateVlaue[2]}";                    Text_ItemName.text = LanguageManager.Instance.Text(itemConfig.itemName);                }                else                {                    Text_Bl.text = $"+{itemConfig.associateVlaue[2]}";                    Text_ItemName.text = LanguageManager.Instance.Text(itemConfig.itemName);                }            }        }        public override void DormancyObj()        {            UIManager.Instance.DormancyGComponent(widgetItem);            widgetItem = null;            itemInfo = null;            Icon_ItemIcon.gameObject.SetActive(false);            isSelected = false;            base.DormancyObj();        }    }}
 |