DivineSenceRestoredPanel.cs 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. using System.Collections.Generic;
  2. using Core.Language;
  3. using Excel2Json;
  4. using Fort23.Core;
  5. using Fort23.UTool;
  6. namespace Fort23.Mono
  7. {
  8. [UIBinding(prefab = "DivineSenceRestoredPanel")]
  9. public partial class DivineSenceRestoredPanel : UIPanel
  10. {
  11. List<DivineSenceRestoredWidget> _divineSenceRestoredWidgets = new List<DivineSenceRestoredWidget>();
  12. private void Init()
  13. {
  14. }
  15. protected override void AddEvent()
  16. {
  17. EventManager.Instance.AddEventListener(CustomEventType.DivineSensePointChange, DivineSensePointChange);
  18. }
  19. protected override void DelEvent()
  20. {
  21. EventManager.Instance.RemoveEventListener(CustomEventType.DivineSensePointChange, DivineSensePointChange);
  22. }
  23. private void DivineSensePointChange(IEventData e)
  24. {
  25. Text_DivineSencePoint.text =
  26. $"{(int)AccountFileInfo.Instance.playerData.divineSensePoint}";
  27. }
  28. public override void AddButtonEvent()
  29. {
  30. }
  31. private float miao;
  32. public async override CTask<bool> AsyncInit(object[] uiData)
  33. {
  34. foreach (var divineSenceRestoredWidget in _divineSenceRestoredWidgets)
  35. {
  36. UIManager.Instance.DormancyGComponent(divineSenceRestoredWidget);
  37. }
  38. _divineSenceRestoredWidgets.Clear();
  39. Text_DivineSencePoint.text =
  40. $"{(int)AccountFileInfo.Instance.playerData.divineSensePoint}";
  41. DivineSenceRestoredWidget divineSenceRestoredWidget1 =
  42. await UIManager.Instance.CreateGComponentForObject<DivineSenceRestoredWidget>(
  43. DivineSenceRestoredWidget1, null, Content, isInstance: true);
  44. divineSenceRestoredWidget1.CustomInit(601);
  45. _divineSenceRestoredWidgets.Add(divineSenceRestoredWidget1);
  46. ItemConfig[] itemConfigs = ConfigComponent.Instance.GetAll<ItemConfig>();
  47. for (var i = 0; i < itemConfigs.Length; i++)
  48. {
  49. if (itemConfigs[i].itemTag == 8)
  50. {
  51. DivineSenceRestoredWidget divineSenceRestoredWidget3 =
  52. await UIManager.Instance.CreateGComponentForObject<DivineSenceRestoredWidget>(
  53. DivineSenceRestoredWidget1, null,
  54. Content, isInstance: true);
  55. divineSenceRestoredWidget3.CustomInit1(itemConfigs[i].ID);
  56. _divineSenceRestoredWidgets.Add(divineSenceRestoredWidget3);
  57. }
  58. }
  59. UpdateText();
  60. TimerComponent.Instance.AddTimer(1000, null, int.MaxValue, () => { UpdateText(); });
  61. return await base.AsyncInit(uiData);
  62. }
  63. private void UpdateText()
  64. {
  65. HeroPowerUpConfig heroPowerUpConfig = PlayerManager.Instance.myHero.powerUpConfig;
  66. if (AccountFileInfo.Instance.playerData.divineSensePoint < heroPowerUpConfig.ShenshiMax)
  67. {
  68. if (AccountFileInfo.Instance.playerData.todayDivineSensePoint <
  69. PlayerManager.Instance.gameConstantConfig.shenshiPointRecSPD[0])
  70. {
  71. miao = 1 / PlayerManager.Instance.gameConstantConfig.shenshiPointRecSPD[1];
  72. }
  73. else
  74. {
  75. miao = 1 / PlayerManager.Instance.gameConstantConfig.shenshiPointRecSPD[1];
  76. }
  77. Text_Tips1.text =
  78. LanguageManager.Instance.Text(10332, PlayerManager.TimeToHSM((long)(miao)));
  79. int shengyuPoint =
  80. (int)(heroPowerUpConfig.ShenshiMax - AccountFileInfo.Instance.playerData.divineSensePoint);
  81. Text_Tips2.text =
  82. LanguageManager.Instance.Text(10333, PlayerManager.TimeToHSM((long)(shengyuPoint * miao)));
  83. }
  84. else
  85. {
  86. Text_Tips1.text = LanguageManager.Instance.Text(10334);
  87. Text_Tips2.text = LanguageManager.Instance.Text(10334);
  88. }
  89. }
  90. public async static CTask OpenPanel()
  91. {
  92. await UIManager.Instance.LoadAndOpenPanel<DivineSenceRestoredPanel>(null, UILayer.Top, isShowBG: true);
  93. }
  94. public override CTask Close()
  95. {
  96. foreach (var divineSenceRestoredWidget in _divineSenceRestoredWidgets)
  97. {
  98. UIManager.Instance.DormancyGComponent(divineSenceRestoredWidget);
  99. }
  100. _divineSenceRestoredWidgets.Clear();
  101. return base.Close();
  102. }
  103. }
  104. }