using System; using AlicizaX.Resource.Runtime; using AlicizaX; using AlicizaX.Timer.Runtime; using Cysharp.Threading.Tasks; using UnityEngine; namespace AlicizaX.UI.Runtime { public interface IUIModule : IModule, IModuleUpdate { void Initlize(Transform root,bool isOrthographic); Camera UICamera { get; set; } Transform UICanvasRoot { get; set; } UniTask ShowUI(params System.Object[] userDatas) where T : UIBase; UniTask? ShowUI(string type, params object[] userDatas); UniTask ShowUIAsync(params System.Object[] userDatas) where T : UIBase; void CloseUI(bool force = false) where T : UIBase; T GetUI() where T : UIBase; void CloseUI(RuntimeTypeHandle handle, bool force = false); protected internal void SetTimerManager(ITimerModule timerModule); } }