using System; using AlicizaX.Resource.Runtime; using AlicizaX.Runtime; using AlicizaX.Timer.Runtime; using Cysharp.Threading.Tasks; using UnityEngine; namespace AlicizaX.UI.Runtime { public interface IUIManager : IModule, IModuleUpdate { void Initlize(Transform root); Camera UICamera { get; set; } Transform UICanvasRoot { get; set; } UIBase ShowUI(UIMetadata meta, params System.Object[] userDatas); UniTask ShowUIAsync(UIMetadata meta, params System.Object[] userDatas); void CloseUI(UIMetadata meta, bool force = false); UIBase GetUI(UIMetadata meta); protected internal void SetTimerManager(ITimerManager timerManager); } }