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() { } 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); }); } public void CustomInit(BreakthroughItemWidget breakthroughItemWidget, Action callBack) { this.callBack = callBack; breakthrough = breakthroughItemWidget; weidgetFater = breakthrough.transform.parent; breakthrough.transform.SetParent(this.transform); itemConfig = ConfigComponent.Instance.Get(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 override void Close() { breakthrough.transform.SetParent(weidgetFater); weidgetFater = null; breakthrough = null; callBack = null; base.Close(); } public async static CTask OpenPanel(BreakthroughItemWidget breakthroughItemWidget, Action callBack) { SelectBreakthroughItemPanel selectBreakthroughItemPanel = await UIManager.Instance.LoadAndOpenPanel(null); selectBreakthroughItemPanel.CustomInit(breakthroughItemWidget, callBack); return selectBreakthroughItemPanel; } } }