SceneChangeFinishEvent_CreateHUD.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. EventSystem.Instance.Publish<BattleFunc>(BattleFunc.Static.Clone(index));
  62. });
  63. }
  64. bool isMute = SoundManager.Instance.UnityAudioSource.mute;
  65. var btnmute = view.GetChild("btn_mute");
  66. var gou = (btnmute as GComponent).GetChild("checked");
  67. gou.visible = isMute;
  68. btnmute.onClick.Set(() =>
  69. {
  70. isMute = !isMute;
  71. gou.visible = isMute;
  72. SoundManager.Instance.UnityAudioSource.mute = isMute;
  73. GameSetting.Instance.SetBool(GameSetting.Sets.Mute_int, isMute);
  74. });
  75. }
  76. }
  77. }