TitlePanel.cs 3.0 KB

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