SceneChangeFinishEvent_CreateHUD.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. using ET.EventType;
  2. using FairyGUI;
  3. namespace ET.Client
  4. {
  5. [Event(SceneType.Client)]
  6. public class SceneChangeFinishEvent_CreateUIHelp : BEvent<SceneLoadFinish>
  7. {
  8. public override void OnEvent(SceneLoadFinish a)
  9. {
  10. asyncTask().Coroutine();
  11. }
  12. private async ETTask asyncTask()
  13. {
  14. Log.Debug("loading HUD");
  15. var view = await UIHelper.Create("HUD");
  16. HUDMgr.InitView(view);
  17. }
  18. }
  19. [Event(SceneType.None)]
  20. public class SkillChangeEventHandler : BEvent<SkillChangeEvent>
  21. {
  22. public override void OnEvent(SkillChangeEvent a)
  23. {
  24. Log.Debug("actor's skill changed.");
  25. /*var view = UIHelper.GetUI("HUD") as GComponent;
  26. if(view != null)
  27. {
  28. HUDMgr.InitView(view);
  29. }*/
  30. }
  31. }
  32. [Event(SceneType.None)]
  33. public class HPRefreshEventHandler : BEvent<HPRefresh>
  34. {
  35. public override void OnEvent(HPRefresh a)
  36. {
  37. var view = UIHelper.GetUI("HUD") as GComponent;
  38. if(view == null)
  39. {
  40. return;
  41. }
  42. int index = (int)a.HPIndex;
  43. var progress = view.GetChild($"progressbar_{index}") as GProgressBar;
  44. progress.visible = true;
  45. var txt = view.GetChild($"txt_hp{index}");
  46. progress.value = a.Progress;
  47. txt.text = a.Progress.ToString("F2") + "%";
  48. }
  49. }
  50. public static class HUDMgr
  51. {
  52. public static void InitView(GComponent view)
  53. {
  54. var btn1 = view.GetChild("btn_skill1");
  55. var btn2 = view.GetChild("btn_skill2");
  56. /*var actor = UnitMgr.Instance.Actor;
  57. if (actor == null || !actor.IsSkillOk)
  58. {
  59. btn1.visible = false;
  60. btn2.visible = false;
  61. return;
  62. }
  63. btn1.visible = actor.GetSkill(0) != null;
  64. btn2.visible = actor.GetSkill(1) != null;
  65. var img = view.GetChild("img_direction");
  66. btn1.onClick.Set(() => {
  67. EventSystem.Instance.Publish<LaunchSkillEvent>(LaunchSkillEvent.Static.Clone(0)) ;
  68. });
  69. btn2.onClick.Set(() => {
  70. EventSystem.Instance.Publish<LaunchSkillEvent>(LaunchSkillEvent.Static.Clone(1));
  71. });*/
  72. btn1.visible = false;
  73. btn2.visible = false;
  74. for (int i=1; i<=4; i++)
  75. {
  76. var btn = view.GetChild($"btn_func{i}");
  77. var index = i;
  78. btn.onClick.Set(() =>
  79. {
  80. if(index == 1)
  81. {
  82. GlobalViewComponent.Instance.HeadbarView.visible = !GlobalViewComponent.Instance.HeadbarView.visible;
  83. return;
  84. }
  85. EventSystem.Instance.Publish<BattleFunc>(BattleFunc.Static.Clone(index));
  86. });
  87. }
  88. bool isMute = SoundManager.Instance.UnityAudioSource.mute;
  89. var btnmute = view.GetChild("btn_mute");
  90. var gou = (btnmute as GComponent).GetChild("checked");
  91. gou.visible = isMute;
  92. btnmute.onClick.Set(() =>
  93. {
  94. isMute = !isMute;
  95. gou.visible = isMute;
  96. SoundManager.Instance.UnityAudioSource.mute = isMute;
  97. GameSetting.Instance.SetBool(GameSetting.Sets.Mute_int, isMute);
  98. });
  99. var progress1 = view.GetChild("progressbar_1") as GProgressBar;
  100. var progress2 = view.GetChild("progressbar_2") as GProgressBar;
  101. progress1.visible = progress2.visible = false;
  102. var txthp1 = view.GetChild("txt_hp1");
  103. txthp1.text = "";
  104. var txthp2 = view.GetChild("txt_hp2");
  105. txthp2.text = "";
  106. }
  107. }
  108. }