| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 | using System.Collections.Generic;using System.Linq;using Core.Language;using Excel2Json;using Fort23.Core;using Fort23.UTool;using GameLogic.Bag;using GameLogic.Hero;using UnityEngine;using UnityEngine.UI;using Utility;namespace Fort23.Mono{    [UIBinding(prefab = "GongFaDetailsPanel")]    public partial class GongFaDetailsPanel : UIPanel    {        private SkillInfo _skillInfo;        private List<SkillConfig> configs;        List<GongFaUpgradeInfoWidget> _gongFaUpgradeInfoWidgets = new List<GongFaUpgradeInfoWidget>();        private List<SkillPowerupConfig> _skillPowerupConfigs;        private SkillConstant skillConstant;        List<ItemWidgetType1> _itemWidgetType1 = new List<ItemWidgetType1>();        List<EnergyWidget> _energyWidgets = new List<EnergyWidget>();        bool isUpStar = false;        bool isUpGrad = false;        private void Init()        {            isAddStack = false;            IsShowAppBar = false;            isPopUi = true;        }        protected override void AddEvent()        {        }        protected override void DelEvent()        {        }        public override void AddButtonEvent()        {            Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });        }        public async void CustomInit(ItemInfo itemInfo)        {            AccountFileInfo.SkillData skillData = new AccountFileInfo.SkillData();            skillData.id = itemInfo.config.associateVlaue[1];            skillData.star = 1;            skillData.level = 1;            skillData.useIndex = -1;            SkillInfo skillInfo = new SkillInfo(skillData);            Text_Desc.text = LanguageManager.Instance.Text(itemInfo.config.itemDesc);            foreach (var gongFaUpgradeInfoWidget in _gongFaUpgradeInfoWidgets)            {                UIManager.Instance.DormancyGComponent(gongFaUpgradeInfoWidget);            }            _gongFaUpgradeInfoWidgets.Clear();            _skillInfo = skillInfo;            _skillPowerupConfigs = ConfigComponent.Instance.GetAll<SkillPowerupConfig>().ToList();            SkillConfig skillConfig = _skillInfo.skillConfig;            Icon_GongFaIcon.icon_name = skillConfig.icon;            Text_SkillCd.text = $"功法运作周期:{skillConfig.cd}转";            skillConstant = ConfigComponent.Instance.Get<SkillConstant>(1);            UpdateStarBtn();            Text_GongFaDesc.text =                UtilTools.GetString(LanguageManager.Instance.Text(skillConfig.dec), _skillInfo.effectValue);            Text_GongFaName.text = LanguageManager.Instance.Text(skillConfig.name) + " Lv." +                                   _skillInfo.SkillPowerupConfig.ID.ToString();            Text_Level.text = LanguageManager.Instance.Text(10222, _skillInfo.SkillPowerupConfig.ID.ToString());            switch (skillConfig.attribute)            {                case 1:                    csc.ChangeState(0);                    Icon_Attribute.icon_name = "dec_jin2";                    break;                case 2:                    csc.ChangeState(1);                    Icon_Attribute.icon_name = "dec_mu2";                    break;                case 4:                    csc.ChangeState(2);                    Icon_Attribute.icon_name = "dec_shui2";                    break;                case 8:                    csc.ChangeState(3);                    Icon_Attribute.icon_name = "dec_huo2";                    break;                case 16:                    csc.ChangeState(4);                    Icon_Attribute.icon_name = "dec_tu2";                    break;            }            for (var i = 0; i < StarRoot.Count; i++)            {                MyImage icon = StarRoot[i] as MyImage;                if (i < skillInfo.skillConfig.level - 1)                {                    icon.gameObject.SetActive(true);                }                else                {                    icon.gameObject.SetActive(false);                }            }            List<SkillConfig> allSkillConfigs = ConfigComponent.Instance.GetAll<SkillConfig>().ToList();            configs = allSkillConfigs.Where(s => s.IDGroup == skillConfig.IDGroup).ToList();            for (var i = 0; i < configs.Count; i++)            {                if (configs[i].level == 1)                    continue;                SkillInfo skillInfo1 =                    new SkillInfo(configs[i].IDGroup, _skillInfo.SkillPowerupConfig.ID, configs[i].level);                GongFaUpgradeInfoWidget gongFaUpgradeInfoWidget =                    await UIManager.Instance.CreateGComponentForObject<GongFaUpgradeInfoWidget>(GongFaUpgradeInfoWidgetGam,null, Content,isInstance:true);                gongFaUpgradeInfoWidget.CustomInit(_skillInfo, skillInfo1, false);                _gongFaUpgradeInfoWidgets.Add(gongFaUpgradeInfoWidget);            }        }        private async CTask UpdateStarBtn()        {            foreach (var itemWidgetType1 in _itemWidgetType1)            {                UIManager.Instance.DormancyGComponent(itemWidgetType1);            }            _itemWidgetType1.Clear();            foreach (var energyWidget in _energyWidgets)            {                UIManager.Instance.DormancyGComponent(energyWidget);            }            _energyWidgets.Clear();        }        public async static CTask<GongFaDetailsPanel> Open(ItemInfo skillInfo)        {            GongFaDetailsPanel gongFaUpgradePanel =                await UIManager.Instance.LoadAndOpenPanel<GongFaDetailsPanel>(null, UILayer.Top,isShowBG:true);            gongFaUpgradePanel.CustomInit(skillInfo);            return gongFaUpgradePanel;        }        public async override CTask Close()        {            foreach (var gongFaUpgradeInfoWidget in _gongFaUpgradeInfoWidgets)            {                UIManager.Instance.DormancyGComponent(gongFaUpgradeInfoWidget);            }            foreach (var itemWidgetType1 in _itemWidgetType1)            {                UIManager.Instance.DormancyGComponent(itemWidgetType1);            }            foreach (var energyWidget in _energyWidgets)            {                UIManager.Instance.DormancyGComponent(energyWidget);            }            _energyWidgets.Clear();            _itemWidgetType1.Clear();            _gongFaUpgradeInfoWidgets.Clear();            isUpStar = false;            isUpGrad = false;            _skillInfo = null;            await base.Close();        }    }}
 |