using ET.EventType; using FairyGUI; namespace ET.Client { [Event(SceneType.Client)] public class SceneChangeFinishEvent_CreateUIHelp : BEvent { public override void OnEvent(SceneLoadFinish a) { asyncTask().Coroutine(); } private async ETTask asyncTask() { Log.Debug("loading HUD"); var view = await UIHelper.Create("HUD"); HUDMgr.InitView(view); } } [Event(SceneType.None)] public class SkillChangeEventHandler : BEvent { public override void OnEvent(SkillChangeEvent a) { Log.Debug("actor's skill changed."); /*var view = UIHelper.GetUI("HUD") as GComponent; if(view != null) { HUDMgr.InitView(view); }*/ } } [Event(SceneType.None)] public class HPRefreshEventHandler : BEvent { public override void OnEvent(HPRefresh a) { var view = UIHelper.GetUI("HUD") as GComponent; if(view == null) { return; } int index = (int)a.HPIndex; var progress = view.GetChild($"progressbar_{index}") as GProgressBar; progress.visible = true; var txt = view.GetChild($"txt_hp{index}"); progress.value = a.Progress; txt.text = a.Progress.ToString("F2") + "%"; } } public static class HUDMgr { public static void InitView(GComponent view) { var btn1 = view.GetChild("btn_skill1"); var btn2 = view.GetChild("btn_skill2"); /*var actor = UnitMgr.Instance.Actor; if (actor == null || !actor.IsSkillOk) { btn1.visible = false; btn2.visible = false; return; } btn1.visible = actor.GetSkill(0) != null; btn2.visible = actor.GetSkill(1) != null; var img = view.GetChild("img_direction"); btn1.onClick.Set(() => { EventSystem.Instance.Publish(LaunchSkillEvent.Static.Clone(0)) ; }); btn2.onClick.Set(() => { EventSystem.Instance.Publish(LaunchSkillEvent.Static.Clone(1)); });*/ btn1.visible = false; btn2.visible = false; for (int i=1; i<= 99; i++) { var btn = view.GetChild($"btn_func{i}"); if (btn == null) break; var index = i; btn.onClick.Set(() => { if(index == 1) { GlobalViewComponent.Instance.HeadbarView.visible = !GlobalViewComponent.Instance.HeadbarView.visible; return; } EventSystem.Instance.Publish(BattleFunc.Static.Clone(index)); }); } bool isMute = SoundManager.Instance.UnityAudioSource.mute; var btnmute = view.GetChild("btn_mute"); var gou = (btnmute as GComponent).GetChild("checked"); gou.visible = isMute; btnmute.onClick.Set(() => { isMute = !isMute; gou.visible = isMute; SoundManager.Instance.UnityAudioSource.mute = isMute; GameSetting.Instance.SetBool(GameSetting.Sets.Mute_int, isMute); }); var progress1 = view.GetChild("progressbar_1") as GProgressBar; var progress2 = view.GetChild("progressbar_2") as GProgressBar; progress1.visible = progress2.visible = false; var txthp1 = view.GetChild("txt_hp1"); txthp1.text = ""; var txthp2 = view.GetChild("txt_hp2"); txthp2.text = ""; } } }