using System.Collections.Generic; using Core.Language; using Fort23.Core; using GameLogic.Bag; namespace Fort23.Mono { [UIBinding(prefab = "ItemDetailsPanel")] public partial class ItemDetailsPanel : UIPanel { ItemInfo itemInfo; List itemDetailsWidgets = new List(); private void Init() { } protected override void AddEvent() { } protected override void DelEvent() { } public override void AddButtonEvent() { Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); }); } public async override CTask AsyncInit(object[] uiData) { itemInfo = uiData[0] as ItemInfo; Icon_ItemIcon.icon_name = itemInfo.config.icon; Text_Name.text = LanguageManager.Instance.Text(itemInfo.config.itemName); Text_Desc.text = LanguageManager.Instance.Text(itemInfo.config.itemDesc2); ItemDetailsWidget itemDetailsWidget1 = await UIManager.Instance.CreateGComponent(null, Connect); itemDetailsWidget1.CustomInit("用途", LanguageManager.Instance.Text(itemInfo.config.itemDesc)); itemDetailsWidgets.Add(itemDetailsWidget1); //突破丹 if (itemInfo.config.associateID == 1) { ItemDetailsWidget itemDetailsWidge2 = await UIManager.Instance.CreateGComponent(null, Connect); itemDetailsWidge2.CustomInit("服用效果", $"增加成功概率{itemInfo.config.associateVlaue[2]},突破失败降低修为损耗{itemInfo.config.associateVlaue[3]}%"); itemDetailsWidgets.Add(itemDetailsWidge2); } //修为丹 else if (itemInfo.config.associateID == 2) { ItemDetailsWidget itemDetailsWidge2 = await UIManager.Instance.CreateGComponent(null, Connect); itemDetailsWidge2.CustomInit("服用效果", $"增加修为值{itemInfo.config.associateVlaue[0]}"); itemDetailsWidgets.Add(itemDetailsWidge2); } if (PlayerManager.Instance.BagController.GetItemCount(itemInfo.itemID) > 0) { ItemDetailsWidget itemDetailsWidget = await UIManager.Instance.CreateGComponent(null, Connect); itemDetailsWidget.CustomInit("道具数量", "道具数量:" + PlayerManager.Instance.BagController.GetItemCount(itemInfo.itemID)); itemDetailsWidgets.Add(itemDetailsWidget); } return await base.AsyncInit(uiData); } public static async CTask OpenPanel(ItemInfo itemInfo) { await UIManager.Instance.LoadAndOpenPanel(null, uiData: new object[] { itemInfo }); } public override void Close() { foreach (var itemDetailsWidget in itemDetailsWidgets) { UIManager.Instance.DormancyGComponent(itemDetailsWidget); } itemDetailsWidgets.Clear(); base.Close(); } } }