Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        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));
            }
        }
Beispiel #3
0
            public Archetype(GameObject instance)
            {
                GameObject      = instance;
                EnableComponent = instance.GetComponent <EnableWindowComponent>();
                RectTransform   = instance.GetComponent <RectTransform>();
                CanvasGroup     = instance.GetComponent <CanvasGroup>();

                Init();
            }
Beispiel #4
0
        /// <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();
                    }
                }
            }
        }
Beispiel #5
0
        /// <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);
        }
Beispiel #6
0
 private void Awake()
 {
     View            = GetComponent <LoadingViewComponent>();
     EnableComponent = GetComponent <EnableWindowComponent>();
 }
Beispiel #7
0
 private void Awake()
 {
     View            = GetComponent <WelcomeViewComponent>();
     EnableComponent = GetComponent <EnableWindowComponent>();
 }
Beispiel #8
0
 private void Awake()
 {
     View            = GetComponent <PhotosScreenViewComponent>();
     EnableComponent = GetComponent <EnableWindowComponent>();
 }
Beispiel #9
0
 private void Awake()
 {
     View            = GetComponent <DetailsViewComponent>();
     EnableComponent = GetComponent <EnableWindowComponent>();
 }
Beispiel #10
0
 private void Awake()
 {
     View            = GetComponent <SearchViewComponent>();
     EnableComponent = GetComponent <EnableWindowComponent>();
 }