/// <summary> Получить компонент, отвечающий за открытие/закрытие окна </summary> private EnableWindowComponent GetScreenEnableComponent(Screens screen) { EnableWindowComponent enableComponent = null; // Получить компонент, отвечающий за открытие/закрытие окна switch (screen) { case Screens.Loading: enableComponent = _loadingScreen.EnableComponent; break; case Screens.Error: enableComponent = _errorScreen.EnableComponent; break; case Screens.Photos: enableComponent = _photosScreen.EnableComponent; break; case Screens.Welcome: enableComponent = _welcomeScreen.EnableComponent; break; default: enableComponent = null; break; } return(enableComponent); }
private IEnumerator SetWindowActiveCroutine(Windows window, bool value) { EnableWindowComponent enableComponent = GetWindowEnableComponent(window); if (enableComponent == null) { yield break; } if (value == true) { // Открыть окно enableComponent.ShowRequest?.Invoke(); // Ждать октрытия окна yield return(new WaitUntil(() => enableComponent.Enable)); } else { // Закрыть окно enableComponent.HideRequest?.Invoke(); // Ждать закрытия окна yield return(new WaitWhile(() => enableComponent.Enable)); } }
public Archetype(GameObject instance) { GameObject = instance; EnableComponent = instance.GetComponent <EnableWindowComponent>(); RectTransform = instance.GetComponent <RectTransform>(); CanvasGroup = instance.GetComponent <CanvasGroup>(); Init(); }
/// <summary>См. <seealso cref="_windowsSettingsRuntime.OpenedScreens"/> - список открытых окон </summary> public void SetScreenActive(Screens screen, bool value) { EnableWindowComponent enableComponent = GetScreenEnableComponent(screen); if (enableComponent == null) { return; } if (value == true) { // Если окно не открыто if (!_windowsSettingsRuntime.OpenedScreens.Contains(screen)) { // Обновить список открытых окон _windowsSettingsRuntime.OpenedScreens.Add(screen); // Открыть окно enableComponent.ShowRequest?.Invoke(); } } else { // Если окно открыто if (_windowsSettingsRuntime.OpenedScreens.Contains(screen)) { // Обновить список открытых окон _windowsSettingsRuntime.OpenedScreens.Remove(screen); // Закрыть окно enableComponent.HideRequest?.Invoke(); if (screen == Screens.Welcome) { // Сообщить о начале закрытия окна _windowsSettingsRuntime.OnStartCloseWelcome?.Invoke(); } } } }
/// <summary> Получить компонент, отвечающий за открытие/закрытие окна </summary> private EnableWindowComponent GetWindowEnableComponent(Windows window) { EnableWindowComponent enableComponent = null; // Получить компонент, отвечающий за открытие/закрытие окна switch (window) { case Windows.Details: enableComponent = _detailsWindow.EnableComponent; break; case Windows.Search: enableComponent = _searchWindow.EnableComponent; break; default: enableComponent = null; break; } return(enableComponent); }
private void Awake() { View = GetComponent <LoadingViewComponent>(); EnableComponent = GetComponent <EnableWindowComponent>(); }
private void Awake() { View = GetComponent <WelcomeViewComponent>(); EnableComponent = GetComponent <EnableWindowComponent>(); }
private void Awake() { View = GetComponent <PhotosScreenViewComponent>(); EnableComponent = GetComponent <EnableWindowComponent>(); }
private void Awake() { View = GetComponent <DetailsViewComponent>(); EnableComponent = GetComponent <EnableWindowComponent>(); }
private void Awake() { View = GetComponent <SearchViewComponent>(); EnableComponent = GetComponent <EnableWindowComponent>(); }