using System.Threading.Tasks; using Cysharp.Threading.Tasks; using Gameplay.SubSystems; namespace Gameplay.UI { public partial class Utils { public static async UniTask ShowLoadingUI(E_LoadingType type, bool closeOthers) { switch (type) { case E_LoadingType.Login: { await UI_LoadingProgressInterfaceController.Open(); if (closeOthers) UIManager.Instance.CloseAllNormalExcept(UINameConst.UI_LoadingProgressInterface, false); } break; case E_LoadingType.QuickBlack: { float animTime = 0.3f; await UI_LoadingBlackController.Open(animTime); if (closeOthers) UIManager.Instance.CloseAllNormalExcept(UINameConst.UI_LoadingBlack, false); await UniTask.WaitForSeconds(animTime, true); } break; case E_LoadingType.CommonLoading: default: { await UI_LoadingInterfaceController.Open(); if (closeOthers) UIManager.Instance.CloseAllNormalExcept(UINameConst.UI_LoadingInterface, false); } break; } } } }