GongFaUpgradePanel.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using Core.Language;
  4. using Excel2Json;
  5. using Fort23.UTool;
  6. using GameLogic.Hero;
  7. using Utility;
  8. namespace Fort23.Mono
  9. {
  10. [UIBinding(prefab = "GongFaUpgradePanel")]
  11. public partial class GongFaUpgradePanel : UIPanel
  12. {
  13. private SkillInfo _skillInfo;
  14. List<GongFaUpgradeInfoWidget> _gongFaUpgradeInfoWidgets = new List<GongFaUpgradeInfoWidget>();
  15. private void Init()
  16. {
  17. }
  18. protected override void AddEvent()
  19. {
  20. }
  21. protected override void DelEvent()
  22. {
  23. }
  24. public override void AddButtonEvent()
  25. {
  26. Btn_Back.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel<GongFaUpgradePanel>(); });
  27. }
  28. public async void CustomInit(SkillInfo skillInfo)
  29. {
  30. _skillInfo = skillInfo;
  31. SkillConfig skillConfig = _skillInfo.skillConfig;
  32. Icon_GongFaIcon.icon_name = skillConfig.icon;
  33. Text_Level1.text = skillConfig.level.ToString();
  34. Text_Level.text = skillConfig.level.ToString();
  35. Text_GongFaDesc.text = UtilTools.GetString(LanguageManager.Instance.Text(skillConfig.dec), _skillInfo.effectValue);
  36. Text_GongFaName.text = LanguageManager.Instance.Text(skillConfig.name);
  37. switch (skillConfig.attribute)
  38. {
  39. case 1:
  40. Icon_Attribute.GetComponent<CustomStateController>().ChangeState(0);
  41. Text_Attribute.text = "金";
  42. break;
  43. case 2:
  44. Icon_Attribute.GetComponent<CustomStateController>().ChangeState(1);
  45. Text_Attribute.text = "木";
  46. break;
  47. case 4:
  48. Icon_Attribute.GetComponent<CustomStateController>().ChangeState(2);
  49. Text_Attribute.text = "水";
  50. break;
  51. case 8:
  52. Icon_Attribute.GetComponent<CustomStateController>().ChangeState(3);
  53. Text_Attribute.text = "火";
  54. break;
  55. case 16:
  56. Icon_Attribute.GetComponent<CustomStateController>().ChangeState(4);
  57. Text_Attribute.text = "土";
  58. break;
  59. }
  60. List<SkillConfig> allSkillConfigs = ConfigComponent.Instance.GetAll<SkillConfig>().ToList();
  61. List<SkillConfig> configs = allSkillConfigs.Where(s => s.IDGroup == skillConfig.IDGroup).ToList();
  62. for (var i = 0; i < configs.Count; i++)
  63. {
  64. SkillInfo skillInfo1 = new SkillInfo(configs[i].ID, _skillInfo.SkillPowerupConfig.ID);
  65. GongFaUpgradeInfoWidget gongFaUpgradeInfoWidget = await UIManager.Instance.CreateGComponent<GongFaUpgradeInfoWidget>(null, Content);
  66. gongFaUpgradeInfoWidget.CustomInit(_skillInfo,skillInfo1);
  67. _gongFaUpgradeInfoWidgets.Add(gongFaUpgradeInfoWidget);
  68. }
  69. }
  70. public async static void Open(SkillInfo skillInfo)
  71. {
  72. GongFaUpgradePanel gongFaUpgradePanel = await UIManager.Instance.LoadAndOpenPanel<GongFaUpgradePanel>(null);
  73. gongFaUpgradePanel.CustomInit(skillInfo);
  74. }
  75. public override void Close()
  76. {
  77. foreach (var gongFaUpgradeInfoWidget in _gongFaUpgradeInfoWidgets)
  78. {
  79. UIManager.Instance.DormancyGComponent(gongFaUpgradeInfoWidget);
  80. }
  81. _gongFaUpgradeInfoWidgets.Clear();
  82. base.Close();
  83. }
  84. }
  85. }