TitlePanel.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. using System.Collections.Generic;
  2. using Core.Language;
  3. using Fort23.Core;
  4. namespace Fort23.Mono
  5. {
  6. [UIBinding(prefab = "TitlePanel")]
  7. public partial class TitlePanel : UIPanel
  8. {
  9. List<EnergyWidget> widgets = new List<EnergyWidget>();
  10. private void Init()
  11. {
  12. }
  13. protected override void AddEvent()
  14. {
  15. }
  16. protected override void DelEvent()
  17. {
  18. }
  19. public override void AddButtonEvent()
  20. {
  21. }
  22. public async static CTask<TitlePanel> OpenPanel(List<int> items)
  23. {
  24. TitlePanel appBarPanel = null;
  25. if (UIManager.Instance.GetComponent<TitlePanel>() == null)
  26. {
  27. appBarPanel = await UIManager.Instance.LoadAndOpenPanel<TitlePanel>(null, UILayer.Top, isFocus: false);
  28. }
  29. else
  30. {
  31. appBarPanel = UIManager.Instance.GetComponent<TitlePanel>();
  32. await appBarPanel.Show();
  33. }
  34. await appBarPanel.CustomInit(items);
  35. return appBarPanel;
  36. }
  37. public async CTask CustomInit(List<int> items)
  38. {
  39. foreach (var energyWidget in widgets)
  40. {
  41. UIManager.Instance.DormancyGComponent(energyWidget);
  42. }
  43. widgets.Clear();
  44. Text_JingJie.text =
  45. LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[0]) +
  46. LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[1]) +
  47. LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[2]);
  48. Slider_Exp.maxValue = PlayerManager.Instance.myHero.powerUpConfig.levelUpExp;
  49. foreach (var item in items)
  50. {
  51. EnergyWidget energyWidget =
  52. await UIManager.Instance.CreateGComponent<EnergyWidget>(null, Group_ResourceBar);
  53. energyWidget.CustomInit(item);
  54. widgets.Add(energyWidget);
  55. }
  56. }
  57. [CustomMethod(CustomMethodType.Update)]
  58. public void Update()
  59. {
  60. int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000);
  61. float allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
  62. Slider_Exp.value = PlayerManager.Instance.myHero.heroData.exp + allexp;
  63. }
  64. public async static CTask ClosePanel()
  65. {
  66. UIManager.Instance.GetComponent<TitlePanel>()?.Hide();
  67. }
  68. public override void Hide()
  69. {
  70. foreach (var energyWidget in widgets)
  71. {
  72. UIManager.Instance.DormancyGComponent(energyWidget);
  73. }
  74. widgets.Clear();
  75. base.Hide();
  76. }
  77. }
  78. }