Пример #1
0
        public TScreen GetScreen <TScreen>() where TScreen : IScreen, new()
        {
            Type screenType = typeof(TScreen);

            TScreen screen;

            if (!_screens.ContainsKey(screenType))
            {
                screen = new TScreen()
                {
                    ScreenManager = this
                };
                _screens.Add(screenType, screen);
                screen.Data.transform.SetParent(Container.ScreensContainer);
                screen.Init();
            }
            else
            {
                screen = (TScreen)_screens[screenType];
            }
            return(screen);
        }