示例#1
0
        public CarouselDialog(Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base()
        {
            SelectedItem = 0;
            Rotating     = false;

            _selectorRotation = 0.0f;
            _targetRotation   = _selectorRotation;
            _carouselDisabled = false;

            _items            = new List <ICarouselDialogItem>();
            _registerObject   = registrationHandler;
            _unregisterObject = unregistrationHandler;

            RotationSpeedInDegrees = Default_Rotation_Speed_In_Degrees;

            AButtonPressedValue = "Select";
            BButtonPressedValue = "Back";
            XButtonPressedValue = "";
            YButtonPressedValue = "";

            DPadMessageText    = Default_DPad_Message_Text;
            DPadMessageYOffset = Default_DPad_Message_Y_Offset;

            _defaultButtonCaption = "";
            _cancelButtonCaption  = "Back";
        }
示例#2
0
        public ComponentSetSelectionCarouselDialog(Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            _selectableComponentSets = new List <AvatarComponentSet>();

            Height            = Dialog_Height;
            TopYWhenActive    = Definitions.Back_Buffer_Height - Dialog_Height;
            CarouselCenter    = new Vector2(Definitions.Back_Buffer_Center.X, Carousel_Center_Y);
            CarouselRadii     = new Vector2(Carousel_Horizontal_Radius, Carousel_Vertical_Radius);
            _itemRenderDepths = new Range(Minimum_Item_Render_Depth, Maximum_Item_Render_Depth);
            _itemScales       = new Range(Minimum_Item_Scale, Maximum_Item_Scale);

            AddIconButton("previous", new Vector2(Definitions.Back_Buffer_Center.X - 450, 175), Button.ButtonIcon.Previous, Color.DodgerBlue);
            AddIconButton("next", new Vector2(Definitions.Back_Buffer_Center.X + 450, 175), Button.ButtonIcon.Next, Color.DodgerBlue);

            AddButton("Back", new Vector2(Definitions.Left_Button_Column_X, 325), Button.ButtonIcon.Back, Color.Red, 0.7f);
            AddButton("Change", new Vector2(Definitions.Right_Button_Column_X, 325), Button.ButtonIcon.Options, Color.LawnGreen, 0.7f);

            ActionButtonPressHandler = HandleActionButtonPress;
            TopYWhenInactive         = Definitions.Back_Buffer_Height;

            SetupButtonLinkagesAndDefaultValues();

            registrationHandler(this);
        }
示例#3
0
        public StorePurchaseDialog(Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            Height            = Purchase_Dialog_Height;
            TopYWhenActive    = Definitions.Back_Buffer_Height - (Purchase_Dialog_Height + Bopscotch.Scenes.NonGame.StoreScene.Dialog_Margin);
            CarouselCenter    = new Vector2(Definitions.Back_Buffer_Center.X, Carousel_Center_Y);
            CarouselRadii     = new Vector2(Carousel_Horizontal_Radius, Carousel_Vertical_Radius);
            _itemRenderDepths = new Range(Minimum_Item_Render_Depth, Maximum_Item_Render_Depth);
            _itemScales       = new Range(Minimum_Item_Scale, Maximum_Item_Scale);

            AddIconButton("previous", new Vector2(Definitions.Back_Buffer_Center.X - 450, 175), Button.ButtonIcon.Previous, Color.DodgerBlue);
            AddIconButton("next", new Vector2(Definitions.Back_Buffer_Center.X + 450, 175), Button.ButtonIcon.Next, Color.DodgerBlue);

            AddButton("Back", new Vector2(Definitions.Left_Button_Column_X, 400), Button.ButtonIcon.Back, Color.DodgerBlue, 0.7f);
            AddButton("Buy", new Vector2(Definitions.Right_Button_Column_X, 400), Button.ButtonIcon.Tick, Color.Orange, 0.7f);

            _nonSpinButtonCaptions.Add("Buy");

            ActionButtonPressHandler = HandleActionButtonPress;
            TopYWhenInactive         = Definitions.Back_Buffer_Height;

            SetupButtonLinkagesAndDefaultValues();

            registrationHandler(this);

            _textTransitionTimer = new Timer("");
            GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_textTransitionTimer.Tick);
            _textTransitionTimer.NextActionDuration = 1;
            _textTint = Color.White;

            _font = Game1.Instance.Content.Load <SpriteFont>("Fonts\\arial");
        }
        public AreaSelectionCarouselDialog(Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            _boxCaption = Translator.Translation("Select Course");

            Height                 = Dialog_Height;
            TopYWhenInactive       = Definitions.Back_Buffer_Height;
            CarouselCenter         = new Vector2(Definitions.Back_Buffer_Center.X, Carousel_Center_Y);
            CarouselRadii          = new Vector2(Carousel_Horizontal_Radius, Carousel_Vertical_Radius);
            RotationSpeedInDegrees = Rotation_Speed_In_Degrees;
            _itemRenderDepths      = new Range(Minimum_Item_Render_Depth, Maximum_Item_Render_Depth);
            _itemScales            = new Range(Minimum_Item_Scale, Maximum_Item_Scale);

            InputSources.Add(KeyboardInputProcessor.CreateForPlayerOne());
            InputSources.Add(KeyboardInputProcessor.CreateForPlayerTwo());

            AddIconButton("previous", new Vector2(Definitions.Back_Buffer_Center.X - 450, 305), Button.ButtonIcon.Previous, Color.DodgerBlue);
            AddIconButton("next", new Vector2(Definitions.Back_Buffer_Center.X + 450, 305), Button.ButtonIcon.Next, Color.DodgerBlue);

            AddButton("Back", new Vector2(Definitions.Left_Button_Column_X, 625), Button.ButtonIcon.Back, Color.DodgerBlue, 0.7f);
            AddButton("Select", new Vector2(Definitions.Right_Button_Column_X, 625), Button.ButtonIcon.Play, Color.LawnGreen, 0.7f);

            SetupButtonLinkagesAndDefaultValues();

            registrationHandler(this);

            _cancelButtonCaption = "Back";
        }
示例#5
0
        public AvatarSelectionCarouselDialog(InputProcessorBase inputProcessor, RaceStartScene.AvatarSelectionButtonHandler sceneButtonHandler,
                                             Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            ActionButtonPressHandler = SelectionHandler;
            InputSources.Add(inputProcessor);

            Height            = Dialog_Height;
            CarouselCenter    = new Vector2(Definitions.Back_Buffer_Center.X, Carousel_Center_Y);
            CarouselRadii     = new Vector2(Carousel_Horizontal_Radius, Carousel_Vertical_Radius);
            _itemRenderDepths = new Range(Minimum_Item_Render_Depth, Maximum_Item_Render_Depth);
            _itemScales       = new Range(Minimum_Item_Scale, Maximum_Item_Scale);

            _inputProcessor          = inputProcessor;
            _sendButtonActionToScene = sceneButtonHandler;
            _captionsForButtonsNotActivatedByGamepadStartButton.Add("Back");

            AddIconButton("previous", new Vector2(Definitions.Back_Buffer_Center.X - 450, 175), Button.ButtonIcon.Previous, Color.DodgerBlue);
            AddIconButton("next", new Vector2(Definitions.Back_Buffer_Center.X + 450, 175), Button.ButtonIcon.Next, Color.DodgerBlue);

            AddButton("Back", new Vector2(Definitions.Left_Button_Column_X, 325), Button.ButtonIcon.Back, Color.DodgerBlue, 0.7f);
            AddButton("Select", new Vector2(Definitions.Right_Button_Column_X, 325), Button.ButtonIcon.Play, Color.LawnGreen, 0.7f);

            SetupButtonLinkagesAndDefaultValues();

            registrationHandler(this);
        }
        public LevelFactory(Scene.ObjectRegistrationHandler registerGameObject, 
            TimerController.TickCallbackRegistrationHandler registerTimerTick)
        {
            _registerGameObject = registerGameObject;
            _registerTimerTick = registerTimerTick;

            BackgroundDimensions = new Point(Definitions.Back_Buffer_Width, Definitions.Back_Buffer_Height);
        }
        public LevelFactory(Scene.ObjectRegistrationHandler registerGameObject,
                            TimerController.TickCallbackRegistrationHandler registerTimerTick)
        {
            _registerGameObject = registerGameObject;
            _registerTimerTick  = registerTimerTick;

            BackgroundDimensions = new Point(Definitions.Back_Buffer_Width, Definitions.Back_Buffer_Height);
        }
示例#8
0
        public PlayerOneAvatarCarousel(SelectionButtonHandler sceneButtonHandler,
                                       Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(sceneButtonHandler, registrationHandler, unregistrationHandler)
        {
            _boxCaption = Translator.Translation("Player One Select Character");

            TopYWhenActive   = Dialog_Margin;
            TopYWhenInactive = -Dialog_Height;
        }
        public PlayerTwoAvatarCarousel(SelectionButtonHandler sceneButtonHandler,
                                       Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(sceneButtonHandler, registrationHandler, unregistrationHandler)
        {
            _boxCaption = Translator.Translation("Player Two Select Character");

            TopYWhenActive   = Definitions.Back_Buffer_Height - (Dialog_Height + Dialog_Margin);
            TopYWhenInactive = Definitions.Back_Buffer_Height;
        }
        public SurvivalStartCarouselDialog(Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            _boxCaption = Translator.Translation("Select Area and Level");

            Height           = Dialog_Height;
            TopYWhenActive   = 300;
            TopYWhenInactive = Definitions.Back_Buffer_Height;
            CarouselCenter   = new Vector2(Definitions.Back_Buffer_Center.X, Carousel_Center_Y);
            CarouselRadii    = new Vector2(Carousel_Horizontal_Radius, Carousel_Vertical_Radius);
        }
        public SurvivalRankingCoordinator(RankSequenceCallback completionCallback, Scene.ObjectRegistrationHandler registrationHandler)
        {
            _registerObject = registrationHandler;

            _rankingStars = new RankingStar[Ranking_Star_Count];
            for (int i = 0; i < Ranking_Star_Count; i++)
            {
                _rankingStars[i] = new RankingStar() { SoundPitch = (i - Ranking_Star_Count) * 0.2f };
            }

            _rankingLetter = new RankingLetter();
            _rankingLetter.NextAction = completionCallback;
        }
        public RaceCharacterSelectionCarouselDialog(SelectionButtonHandler sceneButtonHandler,
                                                    Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            _sendButtonActionToScene = sceneButtonHandler;

            AddButton("Back", new Vector2(Definitions.Left_Button_Column_X, 325), Button.ButtonIcon.B, Color.Red, 0.7f);
            AddButton("Select", new Vector2(Definitions.Right_Button_Column_X, 325), Button.ButtonIcon.A, Color.LawnGreen, 0.7f);

            Height = Race_Character_Selection_Dialog_Height;

            InputSources.Add(null);
        }
        public AvatarSelectionCarouselDialog(Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            ActionButtonPressHandler = SelectionHandler;

            Height            = Dialog_Height;
            CarouselCenter    = new Vector2(Definitions.Back_Buffer_Center.X, Carousel_Center_Y);
            CarouselRadii     = new Vector2(Carousel_Horizontal_Radius, Carousel_Vertical_Radius);
            _itemRenderDepths = new Range(Minimum_Item_Render_Depth, Maximum_Item_Render_Depth);
            _itemScales       = new Range(Minimum_Item_Scale, Maximum_Item_Scale);

            registrationHandler(this);
        }
        public CourseSelectionCarouselDialog(Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            _boxCaption = Translator.Translation("Select Course");

            Height           = Dialog_Height;
            TopYWhenInactive = Definitions.Back_Buffer_Height;
            CarouselCenter   = new Vector2(Definitions.Back_Buffer_Center.X, Carousel_Center_Y);
            CarouselRadii    = new Vector2(Carousel_Horizontal_Radius, Carousel_Vertical_Radius);

            SetupButtonLinkagesAndDefaultValues();

            registrationHandler(this);
        }
示例#15
0
        public CharacterSelectionCarouselDialog(
            Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            _boxCaption = Translator.Translation("Select Character");

            TopYWhenActive   = Top_Y_When_Active;
            TopYWhenInactive = Definitions.Back_Buffer_Height;

            AddButton("Back", new Vector2(300.0f, 325), Button.ButtonIcon.B, Color.Red, 0.6f);
            AddButton("Edit", new Vector2(Definitions.Back_Buffer_Center.X, 325), Button.ButtonIcon.Y, Color.Gold, 0.6f);
            AddButton("Select", new Vector2(1300.0f, 325), Button.ButtonIcon.A, Color.LawnGreen, 0.6f);

            YButtonPressedValue = "Edit";
        }
示例#16
0
 public void WireUpBombBlockBlastColliders(Scene.ObjectRegistrationHandler registerObject)
 {
     for (int x = 0; x < MapDimensions.X; x++)
     {
         for (int y = 0; y < MapDimensions.Y; y++)
         {
             BombBlock block = GetTile(x, y) as BombBlock;
             if (block != null)
             {
                 _bombBlocks.Add(block);
                 registerObject(block.BlastCollider);
             }
         }
     }
 }
示例#17
0
        public SurvivalRankingCoordinator(RankSequenceCallback completionCallback, Scene.ObjectRegistrationHandler registrationHandler)
        {
            _registerObject = registrationHandler;

            _rankingStars = new RankingStar[Ranking_Star_Count];
            for (int i = 0; i < Ranking_Star_Count; i++)
            {
                _rankingStars[i] = new RankingStar()
                {
                    SoundPitch = (i - Ranking_Star_Count) * 0.2f
                };
            }

            _rankingLetter            = new RankingLetter();
            _rankingLetter.NextAction = completionCallback;
        }
        public AreaSelectionCarouselDialog(Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            RotationSpeedInDegrees = Rotation_Speed_In_Degrees;
            _itemRenderDepths      = new Range(Minimum_Item_Render_Depth, Maximum_Item_Render_Depth);
            _itemScales            = new Range(Minimum_Item_Scale, Maximum_Item_Scale);

            CreateButtons();

            ActionButtonPressHandler = HandleNonSpinButtonAction;

            _textTransitionTimer = new Timer("");
            GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_textTransitionTimer.Tick);
            _textTransitionTimer.NextActionDuration = 1;

            _textTint = Color.White;
        }
示例#19
0
        public CourseSelectionCarouselDialog(Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            _boxCaption = Translator.Translation("Select Course");

            Height           = Dialog_Height;
            TopYWhenInactive = Definitions.Back_Buffer_Height;
            CarouselCenter   = new Vector2(Definitions.Back_Buffer_Center.X, Carousel_Center_Y);
            CarouselRadii    = new Vector2(Carousel_Horizontal_Radius, Carousel_Vertical_Radius);

            DPadMessageYOffset = 230.0f;

            registrationHandler(this);

            InputSources = new List <InputProcessorBase>();
            InputSources.Add(null);
            InputSources.Add(null);
        }
        public AvatarSelectionCarouselDialog(Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            ActionButtonPressHandler = SelectionHandler;

            Height            = Dialog_Height;
            CarouselCenter    = new Vector2(Definitions.Back_Buffer_Center.X, Carousel_Center_Y);
            CarouselRadii     = new Vector2(Carousel_Horizontal_Radius, Carousel_Vertical_Radius);
            _itemRenderDepths = new Range(Minimum_Item_Render_Depth, Maximum_Item_Render_Depth);
            _itemScales       = new Range(Minimum_Item_Scale, Maximum_Item_Scale);

            _captionsForButtonsNotActivatedByGamepadStartButton.Add("Back");

            AddIconButton("previous", new Vector2(Definitions.Back_Buffer_Center.X - 450, 175), Button.ButtonIcon.Previous, Color.DodgerBlue);
            AddIconButton("next", new Vector2(Definitions.Back_Buffer_Center.X + 450, 175), Button.ButtonIcon.Next, Color.DodgerBlue);

            registrationHandler(this);
        }
示例#21
0
        public ResultsDialog(Scene.ObjectRegistrationHandler objectRegistrationHandler)
            : base()
        {
            _registerObject = objectRegistrationHandler;

            _boxCaption = Translator.Translation("Race Results");

            Height         = Dialog_Height;
            TopYWhenActive = Top_Y_When_Active;

            AddButton("Exit", new Vector2(Definitions.Left_Button_Column_X, 625), Button.ButtonIcon.Play, Color.Red, 0.7f);

            _defaultButtonCaption = "Exit";
            _cancelButtonCaption  = "Exit";

            _resultsAnnouncementTimer = new Timer("", AnnounceResults);
            GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_resultsAnnouncementTimer.Tick);
        }
示例#22
0
        public ComponentSelectionCarouselDialog(Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            Height            = Dialog_Height;
            TopYWhenActive    = (Definitions.Back_Buffer_Height * (1.0f - Data.Profile.Settings.DisplaySafeAreaFraction)) - (Dialog_Height + Bottom_Margin);
            CarouselCenter    = new Vector2(Definitions.Back_Buffer_Center.X, Carousel_Center_Y);
            CarouselRadii     = new Vector2(Carousel_Horizontal_Radius, Carousel_Vertical_Radius);
            _itemRenderDepths = new Range(Minimum_Item_Render_Depth, Maximum_Item_Render_Depth);
            _itemScales       = new Range(Minimum_Item_Scale, Maximum_Item_Scale);

            AddButton("Select", new Vector2(Definitions.Right_Button_Column_X, 360), Button.ButtonIcon.A, Color.LawnGreen, 0.7f);
            AddButton("Back", new Vector2(Definitions.Left_Button_Column_X, 360), Button.ButtonIcon.B, Color.Red, 0.7f);

            ActionButtonPressHandler = HandleActionButtonPress;
            TopYWhenInactive         = Definitions.Back_Buffer_Height;

            registrationHandler(this);
        }
        public ResultsDialog(Scene.ObjectRegistrationHandler objectRegistrationHandler)
            : base()
        {
            _registerObject = objectRegistrationHandler;

            _boxCaption = Translator.Translation("Race Results");

            Height = Dialog_Height;
            TopYWhenActive = Top_Y_When_Active;

            AddButton("Exit", new Vector2(Definitions.Left_Button_Column_X, 625), Button.ButtonIcon.Play, Color.Red, 0.7f);

            _defaultButtonCaption = "Exit";
            _cancelButtonCaption = "Exit";

            _resultsAnnouncementTimer = new Timer("", AnnounceResults);
            GlobalTimerController.GlobalTimer.RegisterUpdateCallback(_resultsAnnouncementTimer.Tick);
        }
        public CharacterSelectionCarouselDialog(
            Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base(registrationHandler, unregistrationHandler)
        {
            _boxCaption = Translator.Translation("Select Character");

            TopYWhenActive   = Top_Y_When_Active;
            TopYWhenInactive = Definitions.Back_Buffer_Height;

            AddButton("Back", new Vector2(350.0f, 325), Button.ButtonIcon.Back, Color.Red, 0.6f);
            AddButton("Edit", new Vector2(Definitions.Back_Buffer_Center.X, 325), Button.ButtonIcon.Options, Color.Gold, 0.6f);
            AddButton("Select", new Vector2(1250.0f, 325), Button.ButtonIcon.Tick, Color.LawnGreen, 0.6f);

            _nonSpinButtonCaptions.Add("Edit");

            _defaultButtonCaption = "Select";
            _activeButtonCaption  = "Select";
            _cancelButtonCaption  = "Back";
        }
        public CarouselDialog(Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base()
        {
            SelectedItem = 0;
            Rotating = false;

            _selectorRotation = 0.0f;
            _targetRotation = _selectorRotation;

            _items = new List<ICarouselDialogItem>();
            _registerObject = registrationHandler;
            _unregisterObject = unregistrationHandler;

            _nonSpinButtonCaptions = new List<string>();
            _nonSpinButtonCaptions.Add("Back");
            _nonSpinButtonCaptions.Add("Select");
            _buttonSoundEffectOverrides = new Dictionary<string, string>();

            _captionsForButtonsNotActivatedByGamepadStartButton = new List<string>();

            RotationSpeedInDegrees = Default_Rotation_Speed_In_Degrees;
        }
示例#26
0
        public CarouselDialog(Scene.ObjectRegistrationHandler registrationHandler, Scene.ObjectUnregistrationHandler unregistrationHandler)
            : base()
        {
            SelectedItem = 0;
            Rotating     = false;

            _selectorRotation = 0.0f;
            _targetRotation   = _selectorRotation;

            _items            = new List <ICarouselDialogItem>();
            _registerObject   = registrationHandler;
            _unregisterObject = unregistrationHandler;

            _nonSpinButtonCaptions = new List <string>();
            _nonSpinButtonCaptions.Add("Back");
            _nonSpinButtonCaptions.Add("Select");
            _buttonSoundEffectOverrides = new Dictionary <string, string>();

            _captionsForButtonsNotActivatedByGamepadStartButton = new List <string>();

            RotationSpeedInDegrees = Default_Rotation_Speed_In_Degrees;
        }
 public SmashBlockItemFactory(Scene.ObjectRegistrationHandler objectRegistrationHandler,
     TimerController.TickCallbackRegistrationHandler timerTickRegistrationHandler)
 {
     _registerObject = objectRegistrationHandler;
     _registerTimerTick = timerTickRegistrationHandler;
 }
示例#28
0
 public SurvivalAreaCompleteContentFactory(Scene.ObjectRegistrationHandler registrationHandler)
 {
     _registerObject = registrationHandler;
     _newItemPopups  = new List <PopupRequiringDismissal>();
 }
 public SmashBlockItemFactory(Scene.ObjectRegistrationHandler objectRegistrationHandler,
                              TimerController.TickCallbackRegistrationHandler timerTickRegistrationHandler)
 {
     _registerObject    = objectRegistrationHandler;
     _registerTimerTick = timerTickRegistrationHandler;
 }
 public SurvivalAreaCompleteContentFactory(Scene.ObjectRegistrationHandler registrationHandler)
 {
     _registerObject = registrationHandler;
     _newItemPopups = new List<PopupRequiringDismissal>();
 }