MainUIPanel.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using System.Threading.Tasks;
  2. using Common.Utility.CombatEvent;
  3. using Fort23.Core;
  4. using GameLogic.Combat.CombatTool;
  5. using GameLogic.Combat.CombatType;
  6. using GameLogic.Hero;
  7. using UnityEngine;
  8. namespace Fort23.Mono
  9. {
  10. [UIBinding(prefab = "MainUIPanel")]
  11. public partial class MainUIPanel : UIPanel
  12. {
  13. private void Init()
  14. {
  15. InitBattleHero();
  16. }
  17. protected override void AddEvent()
  18. {
  19. CombatEventManager.Instance.AddEventListener(CombatEventType.CombatExpAlter, CombatExpAlter);
  20. }
  21. protected override void DelEvent()
  22. {
  23. CombatEventManager.Instance.RemoveEventListener(CombatEventType.CombatExpAlter, CombatExpAlter);
  24. }
  25. public override void AddButtonEvent()
  26. {
  27. }
  28. private void CombatExpAlter(IEventData eventData)
  29. {
  30. ExpAlter();
  31. }
  32. private void ExpAlter()
  33. {
  34. if (CombatController.currActiveCombat == null || CombatController.currActiveCombat.CombatTypeBasic == null)
  35. {
  36. return;
  37. }
  38. LevelBattleCombatType levelBattleCombatType =
  39. CombatController.currActiveCombat.CombatTypeBasic as LevelBattleCombatType;
  40. float bl = (levelBattleCombatType.exp * 1.0f) / levelBattleCombatType.CurrMaxExp;
  41. exp.value = bl;
  42. TextExp.text = levelBattleCombatType.exp + "/" + levelBattleCombatType.CurrMaxExp;
  43. }
  44. private async void InitBattleHero()
  45. {
  46. for (int i = 0; i < PlayerManager.Instance.heroListInLead.Count; i++)
  47. {
  48. RectTransform rectTransform = hero_battle[i] as RectTransform;
  49. WidgetHero itemHero = await UIManager.Instance.CreateGComponent<WidgetHero>(null,
  50. poolName: "WidgetHero", root: rectTransform);
  51. itemHero.InitHero(PlayerManager.Instance.heroListInLead[i]);
  52. }
  53. }
  54. }
  55. }