public static async ETTask CloseWindow(this UIManagerComponent self, string ui_name) { var target = self.GetWindow(ui_name, 1); if (target == null) { return; } while (target.LoadingState != UIWindowLoadingState.LoadOver) { await TimerComponent.Instance.WaitAsync(1); } self.__RemoveFromStack(target); self.__InnnerCloseWindow(target); }