SkillRoadSelecPanel.cs 2.7 KB

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