using System.Collections.ObjectModel; using Cysharp.Threading.Tasks; namespace Code.App.Loading { public interface ILoadingManager { delegate void OnLoadingDelegate(); event OnLoadingDelegate OnLoadingStarted; event OnLoadingDelegate OnLoadingEnded; ReadOnlyCollection LoadingThings { get; } LoadingManager RegisterLoading(LoadingWork loadingThingName); LoadingManager UnregisterLoading(LoadingWork loadingThingName); } }