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; } UIWindow ShowUI(Type type, params System.Object[] userDatas); UniTask ShowUIAsync(Type type, params System.Object[] userDatas); void CloseUI(Type type, bool force = false); UIWindow GetUI(Type type); protected internal void SetTimerManager(ITimerManager timerManager); protected internal void SetResourceManager(IResourceManager resourceManager); } }