private RaceSubScene CreateRaceContainer()
        {
            RaceSubScene container = new RaceSubScene();

            container.RaceStartCallback   = SubsceneReadyCallback;
            container.DeactivationHandler = SubsceneDeactivationHandler;
            RegisterGameObject(container);

            return(container);
        }
        public RaceGameplayScene()
            : base(Definitions.Back_Buffer_Width, Definitions.Back_Buffer_Height)
        {
            _playerOneGameplayContainer = CreateRaceContainer();
            _playerTwoGameplayContainer = CreateRaceContainer();

            _dialogContainer = new RaceDialogContainerSubScene();
            _dialogContainer.DialogCloseHandler = HandleDialogClose;
            RegisterGameObject(_dialogContainer);

            _startSequenceTimer = new Timer("", HandleStartCountdownStep);
            GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_startSequenceTimer.Tick);
        }