using System; using UnityEngine; namespace ET.Client { [UIEvent(UIType.UIJoinRoom)] public class UIJoinRoomEvent : AUIEvent { public override async ETTask<UI> OnCreate(UIComponent uiComponent, UILayer uiLayer, params object[] param) { await ETTask.CompletedTask; await uiComponent.DomainScene().GetComponent<ResourcesLoaderComponent>().LoadAsync(UIType.UIJoinRoom.StringToAB()); GameObject bundleGameObject = (GameObject) ResourcesComponent.Instance.GetAsset(UIType.UIJoinRoom.StringToAB(), UIType.UIJoinRoom); GameObject gameObject = UnityEngine.Object.Instantiate(bundleGameObject, UIEventComponent.Instance.GetLayer((int)uiLayer)); UI ui = uiComponent.AddChild<UI, string, GameObject>(UIType.UIJoinRoom, gameObject); ui.AddComponent<UIJoinRoomComponent>(); return ui; } public override void OnRemove(UIComponent uiComponent) { ResourcesComponent.Instance.UnloadBundle(UIType.UIJoinRoom.StringToAB()); } } }