| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | using System.Collections.Generic;using Core.Language;using Fort23.Core;using GameLogic.Bag;using Utility;namespace Fort23.Mono{    [UIBinding(prefab = "ItemDetailsPanel")]    public partial class ItemDetailsPanel : UIPanel    {        ItemInfo itemInfo;        List<ItemDetailsWidget> itemDetailsWidgets = new List<ItemDetailsWidget>();        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<bool> 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<ItemDetailsWidget>(null, Connect);            itemDetailsWidget1.CustomInit("用途", LanguageManager.Instance.Text(itemInfo.config.itemDesc));            itemDetailsWidgets.Add(itemDetailsWidget1);            //突破丹            if (itemInfo.config.associateID == 1)            {                ItemDetailsWidget itemDetailsWidge2 = await UIManager.Instance.CreateGComponent<ItemDetailsWidget>(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<ItemDetailsWidget>(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<ItemDetailsWidget>(null, Connect);                itemDetailsWidget.CustomInit("道具数量", "道具数量:" + PlayerManager.Instance.BagController.GetItemCount(itemInfo.itemID).ToStringEx());                itemDetailsWidgets.Add(itemDetailsWidget);            }            return await base.AsyncInit(uiData);        }        public static async CTask OpenPanel(ItemInfo itemInfo)        {            await UIManager.Instance.LoadAndOpenPanel<ItemDetailsPanel>(null,UILayer.Top, uiData: new object[] { itemInfo });        }        public override void Close()        {            foreach (var itemDetailsWidget in itemDetailsWidgets)            {                UIManager.Instance.DormancyGComponent(itemDetailsWidget);            }            itemDetailsWidgets.Clear();            base.Close();        }    }}
 |