SceneChangeFinishEvent_CreateHUD.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. var view = UIHelper.GetUI("HUD") as GComponent;
  25. if(view != null)
  26. {
  27. HUDMgr.InitView(view);
  28. }
  29. }
  30. }
  31. public static class HUDMgr
  32. {
  33. public static void InitView(GComponent view)
  34. {
  35. var btn1 = view.GetChild("btn_skill1");
  36. var btn2 = view.GetChild("btn_skill2");
  37. /*var actor = UnitMgr.Instance.Actor;
  38. if (actor == null || !actor.IsSkillOk)
  39. {
  40. btn1.visible = false;
  41. btn2.visible = false;
  42. return;
  43. }
  44. btn1.visible = actor.GetSkill(0) != null;
  45. btn2.visible = actor.GetSkill(1) != null;
  46. var img = view.GetChild("img_direction");
  47. btn1.onClick.Set(() => {
  48. EventSystem.Instance.Publish<LaunchSkillEvent>(LaunchSkillEvent.Static.Clone(0)) ;
  49. });
  50. btn2.onClick.Set(() => {
  51. EventSystem.Instance.Publish<LaunchSkillEvent>(LaunchSkillEvent.Static.Clone(1));
  52. });*/
  53. btn1.visible = false;
  54. btn2.visible = false;
  55. for (int i=1; i<=4; i++)
  56. {
  57. var btn = view.GetChild($"btn_func{i}");
  58. var index = i;
  59. btn.onClick.Set(() =>
  60. {
  61. if(index == 1)
  62. {
  63. GlobalViewComponent.Instance.HeadbarView.visible = !GlobalViewComponent.Instance.HeadbarView.visible;
  64. return;
  65. }
  66. EventSystem.Instance.Publish<BattleFunc>(BattleFunc.Static.Clone(index));
  67. });
  68. }
  69. bool isMute = SoundManager.Instance.UnityAudioSource.mute;
  70. var btnmute = view.GetChild("btn_mute");
  71. var gou = (btnmute as GComponent).GetChild("checked");
  72. gou.visible = isMute;
  73. btnmute.onClick.Set(() =>
  74. {
  75. isMute = !isMute;
  76. gou.visible = isMute;
  77. SoundManager.Instance.UnityAudioSource.mute = isMute;
  78. GameSetting.Instance.SetBool(GameSetting.Sets.Mute_int, isMute);
  79. });
  80. }
  81. }
  82. }