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();
- }
- }
- }
|