using System.Collections; using System.Collections.Generic; using UnityEngine; using Cysharp.Threading.Tasks; using UnityEngine.UIElements; namespace BITKit { public class WaitingScreen : MonoBehaviour { static ValidHandle isWaiting = new(); public static void Excute(object obj) { isWaiting.AddElement(obj); } public static void Complete(object obj) { isWaiting.RemoveElement(obj); } [Header(Constant.Header.Components)] public UIDocument document; void Start() { isWaiting = new(); isWaiting.AddListener(SetWaiting); isWaiting.Invoke(); } async void SetWaiting(bool wait) { await UniTask.SwitchToMainThread(); document.rootVisualElement.SetActive(wait); } } }