| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 | using System.Collections.Generic;using Core.Language;using Excel2Json;using Fort23.Core;using Fort23.UTool;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)        {            foreach (var itemDetailsWidget in itemDetailsWidgets)            {                UIManager.Instance.DormancyGComponent(itemDetailsWidget);            }            itemDetailsWidgets.Clear();            itemInfo = uiData[0] as ItemInfo;            Text_Name.text = LanguageManager.Instance.Text(itemInfo.config.itemName);            if (itemInfo.config.itemDesc2 == 0)            {                Text_Desc.text = "";            }            else            {                Text_Desc.text = LanguageManager.Instance.Text(itemInfo.config.itemDesc2);            }            WidgetItem widgetItem =                await UIManager.Instance.CreateGComponentForObject<WidgetItem>(WidgetItemGame, null);            widgetItem.InitWidget(itemInfo, false);            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 }, isShowBG: true);        }        public async override CTask Close()        {            foreach (var itemDetailsWidget in itemDetailsWidgets)            {                UIManager.Instance.DormancyGComponent(itemDetailsWidget);            }            itemDetailsWidgets.Clear();            await base.Close();        }    }}
 |