using Core.Language; using Excel2Json; using Fort23.UTool; using GameLogic.Bag; namespace Fort23.Mono { [UIBinding(prefab = "BreakthroughItemWidget")] public partial class BreakthroughItemWidget : UIComponent { /// /// 1.选择丹药 2.其他道具 /// private int type; public int itemId; public ItemInfo itemInfo; private void Init() { } public override void AddEvent() { } public override void DelEvent() { } private WidgetItem widgetItem; public override void AddButtonEvent() { Btn_Select.onClick.AddListener(() => { //打开选择丹药界面 if (type == 1) { SelectElixirPanel.OpenPanel(this, async (e) => { //取消选择丹药 if (e == null) { itemInfo = null; UIManager.Instance.DormancyGComponent(widgetItem); 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(null, ItemRoot); } Text_Bl.text = $"+{itemInfo.config.associateVlaue[2]}"; Text_ItemName.text = LanguageManager.Instance.Text(itemInfo.config.itemName); widgetItem.InitWidget(itemInfo); } }); } else { SelectBreakthroughItemPanel.OpenPanel(this, async () => { if (itemInfo != null) { itemInfo = null; 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(null, ItemRoot); } Text_Bl.text = $"+{itemInfo.config.associateVlaue[2]}"; Text_ItemName.text = LanguageManager.Instance.Text(itemInfo.config.itemName); widgetItem.InitWidget(itemInfo); } }); } }); } public void CustomInit(int type, int itemId) { this.type = type; this.itemId = itemId; if (type == 1) { Text_Bl.text = $"+{0}"; Text_ItemName.text = "丹药"; } else { ItemConfig itemConfig = ConfigComponent.Instance.Get(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; base.DormancyObj(); } } }