SkillRoadSelecPanel.cs 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using Core.Language;
  5. using Excel2Json;
  6. using Fort23.UTool;
  7. namespace Fort23.Mono
  8. {
  9. [UIBinding(prefab = "SkillRoadSelecPanel")]
  10. public partial class SkillRoadSelecPanel : UIPanel
  11. {
  12. List<SkillRoadWidget> _skillRoadWidgets = new List<SkillRoadWidget>();
  13. private Action<int> callBack;
  14. private void Init()
  15. {
  16. }
  17. protected override void AddEvent()
  18. {
  19. }
  20. protected override void DelEvent()
  21. {
  22. }
  23. public override void AddButtonEvent()
  24. {
  25. Btn_Close.onClick.AddListener(() =>
  26. {
  27. callBack?.Invoke(0);
  28. UIManager.Instance.HideUIUIPanel(this );
  29. });
  30. }
  31. public async void CustomInit(int currentSelectId,Action<int> callBack)
  32. {
  33. this.callBack = callBack;
  34. List<SkillConfig> skillConfigs = ConfigComponent.Instance.GetAll<SkillConfig>().ToList();
  35. List<SkillConfig> configs = skillConfigs.Where(s => s.SkillType == 4).ToList();
  36. foreach (var skillConfig in configs)
  37. {
  38. SkillRoadWidget skillRoadWidget = await UIManager.Instance.CreateGComponent<SkillRoadWidget>(null, Content);
  39. skillRoadWidget.CustomInti(skillConfig.ID);
  40. skillRoadWidget.onClick = OnClick;
  41. _skillRoadWidgets.Add(skillRoadWidget);
  42. }
  43. if (currentSelectId == 0)
  44. {
  45. Text_SkillName.text = "未选择";
  46. }
  47. else
  48. {
  49. SkillConfig skillConfig = ConfigComponent.Instance.Get<SkillConfig>(currentSelectId);
  50. Text_SkillName.text = LanguageManager.Instance.Text(skillConfig.name);
  51. Icon_SkillIcon.icon_name = skillConfig.icon;
  52. }
  53. }
  54. private void OnClick(ItemWidgetBasic obj)
  55. {
  56. SkillRoadWidget skillRoadWidget = obj as SkillRoadWidget;
  57. // PlayerManager.Instance.GongFaControl.SetTaoismSkillIndex(skillRoadWidget.SkillConfig.ID);
  58. // PlayerManager.Instance.myHero.heroData.TaoismSkillId = skillRoadWidget.SkillConfig.ID;
  59. // AccountFileInfo.Instance.SavePlayerData();
  60. callBack?.Invoke(skillRoadWidget.SkillConfig.ID);
  61. UIManager.Instance.HideUIUIPanel(this);
  62. }
  63. public async static void OpenPanel(int currentSelectId,Action<int> callBack)
  64. {
  65. SkillRoadSelecPanel skillRoadSelecPanel = await UIManager.Instance.LoadAndOpenPanel<SkillRoadSelecPanel>(null);
  66. skillRoadSelecPanel.CustomInit(currentSelectId,callBack);
  67. }
  68. public override void Close()
  69. {
  70. foreach (var skillRoadWidget in _skillRoadWidgets)
  71. {
  72. UIManager.Instance.DormancyGComponent(skillRoadWidget);
  73. }
  74. _skillRoadWidgets.Clear();
  75. base.Close();
  76. }
  77. }
  78. }