| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | using System;using System.Collections.Generic;using System.Linq;using Core.Language;using Excel2Json;using Fort23.Core;using Fort23.UTool;namespace Fort23.Mono{    [UIBinding(prefab = "SkillRoadSelecPanel")]    public partial class SkillRoadSelecPanel : UIPanel    {        List<SkillRoadWidget> _skillRoadWidgets = new List<SkillRoadWidget>();        private Action<int> callBack;        private void Init()        {        }        protected override void AddEvent()        {        }        protected override void DelEvent()        {        }        public override void AddButtonEvent()        {            Btn_Close.onClick.AddListener(() =>            {                callBack?.Invoke(0);                UIManager.Instance.HideUIUIPanel(this);            });        }        public async void CustomInit(int currentSelectId, Action<int> callBack)        {            this.callBack = callBack;            List<SkillConfig> skillConfigs = ConfigComponent.Instance.GetAll<SkillConfig>().ToList();            List<SkillConfig> configs = skillConfigs.Where(s => s.SkillType == 4).ToList();            foreach (var skillConfig in configs)            {                SkillRoadWidget skillRoadWidget =                    await UIManager.Instance.CreateGComponent<SkillRoadWidget>(null, Content);                skillRoadWidget.CustomInti(skillConfig.ID, skillConfig.ID == 601011);                skillRoadWidget.OnClick = OnClick;                _skillRoadWidgets.Add(skillRoadWidget);            }            if (currentSelectId == 0)            {                Text_SkillName.text = "未选择";            }            else            {                SkillConfig skillConfig = ConfigComponent.Instance.Get<SkillConfig>(currentSelectId);                Text_SkillName.text = LanguageManager.Instance.Text(skillConfig.name);                Icon_SkillIcon.icon_name = skillConfig.icon;            }        }        private void OnClick(ItemWidgetBasic obj)        {            SkillRoadWidget skillRoadWidget = obj as SkillRoadWidget;            if (!skillRoadWidget.isUlock)                return;            // PlayerManager.Instance.GongFaControl.SetTaoismSkillIndex(skillRoadWidget.SkillConfig.ID);            // PlayerManager.Instance.myHero.heroData.TaoismSkillId = skillRoadWidget.SkillConfig.ID;            // AccountFileInfo.Instance.SavePlayerData();            callBack?.Invoke(skillRoadWidget.SkillConfig.ID);            UIManager.Instance.HideUIUIPanel(this);        }        public async static void OpenPanel(int currentSelectId, Action<int> callBack)        {            SkillRoadSelecPanel skillRoadSelecPanel =                await UIManager.Instance.LoadAndOpenPanel<SkillRoadSelecPanel>(null);            skillRoadSelecPanel.CustomInit(currentSelectId, callBack);        }        public async override CTask Close()        {            foreach (var skillRoadWidget in _skillRoadWidgets)            {                UIManager.Instance.DormancyGComponent(skillRoadWidget);            }            _skillRoadWidgets.Clear();            await base.Close();        }    }}
 |