public TitleScene()
            : base()
        {
            _animationController = new AnimationController();

            _titlePopup = new PopupRequiringDismissal();
            _titlePopup.AnimationCompletionHandler = HandlePopupAnimationComplete;
            RegisterGameObject(_titlePopup);

            _unlockNotificationDialog = new NewContentUnlockedDialog();

            _dialogs.Add("reminder", new RateBuyReminderDialog());
            _dialogs.Add("main", new MainMenuDialog());
            _dialogs.Add("start", new StartMenuDialog());
            _dialogs.Add("survival-levels", new SurvivalStartCarouselDialog(RegisterGameObject, UnregisterGameObject));
            _dialogs.Add("characters", new CharacterSelectionCarouselDialog(RegisterGameObject, UnregisterGameObject));
            _dialogs.Add("options", new OptionsDialog());
            _dialogs.Add("keyboard", new KeyboardDialog());
            _dialogs.Add("reset-areas", new ResetAreasConfirmDialog());
            _dialogs.Add("areas-reset", new ResetAreasCompleteDialog());
            _dialogs.Add("unlocks", _unlockNotificationDialog);
            _dialogs.Add(Race_Aborted_Dialog, new DisconnectedDialog("Connection Broken - Race Aborted!"));
            _dialogs.Add("info", new InfoMenuDialog());

            RegisterGameObject(
                new TextContent(Translator.Translation("Leda Entertainment Presents"), new Vector2(Definitions.Back_Buffer_Center.X, 60.0f))
                {
                    RenderLayer = 2,
                    RenderDepth = 0.5f,
                    Scale = 0.65f
                });
        }
        public SurvivalGameplayScene()
            : base("survival-gameplay")
        {
            StatusDisplay = new SurvivalDataDisplay();

            _readyPopup = new PopupRequiringDismissal() { ID = "get-ready-popup" };
            _pauseButton = new PauseButton();
            _pauseDialog = new PauseDialog();
            _noLivesDialog = new NoLivesDialog();
            _tutorialDialog = new TutorialDialog();
            _tutorialRunner = new TutorialRunner();
            _rankingCoordinator = new SurvivalRankingCoordinator(CloseCurrentLevel, RegisterGameObject);

            _pauseDialog.InputSources.Add(_inputProcessor);
            _pauseDialog.ExitCallback = HandleDialogClose;

            _noLivesDialog.InputSources.Add(_inputProcessor);
            _noLivesDialog.ExitCallback = HandleDialogClose;

            _tutorialDialog.InputSources.Add(_inputProcessor);
            _tutorialDialog.ExitCallback = HandleDialogClose;

            _playerEventPopup.AnimationCompletionHandler = HandlePlayerEventAnimationComplete;
        }
        private void CreatePopupTickForNewlyUnlockedItem(float yPosition)
        {
            PopupRequiringDismissal itemPopup = new PopupRequiringDismissal();
            itemPopup.MappingName = "popup-tick-icon";
            itemPopup.DisplayPosition = new Vector2(Unlock_Icon_X, yPosition);

            _newItemPopups.Add(itemPopup);
            _registerObject(itemPopup);
        }