12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- 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<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));
- itemDetailsWidgets.Add(itemDetailsWidget);
- }
- return await base.AsyncInit(uiData);
- }
- public static async CTask OpenPanel(ItemInfo itemInfo)
- {
- await UIManager.Instance.LoadAndOpenPanel<ItemDetailsPanel>(null, uiData: new object[] { itemInfo });
- }
- public override void Close()
- {
- foreach (var itemDetailsWidget in itemDetailsWidgets)
- {
- UIManager.Instance.DormancyGComponent(itemDetailsWidget);
- }
- itemDetailsWidgets.Clear();
- base.Close();
- }
- }
- }
|