public EditorScene()
            : base(1600, 900)
        {
            _inputHandler = new InputHandler()
            {
                StartMouseAction = StartMouseAction,
                CancelMouseAction = CancelMouseAction,
                CompleteMouseAction = CompleteMouseAction
            };

            _cameraController = new MobileCameraController();
            _motionController = new MotionController();

            CreateControls();
            CreateModalBoxes();

            Data.Container.RegisterComponent = RegisterGameObject;
            Data.Container.UnregisterComponent = UnregisterGameObject;

            _selected = null;
            _activeModalBox = null;
        }
 private void ActivateModalBox(string boxName)
 {
     _activeModalBox = _modalBoxes[boxName];
     _activeModalBox.Visible = true;
 }
 private void DeactivateModalBox()
 {
     if (_activeModalBox != null) { _activeModalBox.Visible = false; }
     _activeModalBox = null;
 }
 protected override void HandleBackButtonPress()
 {
     if (_inputHandler.KeyPressed(Keys.Escape))
     {
         if (_activeModalBox != null)
         {
             if (_activeModalBox is SelectionBox) { ((SelectionBox)_activeModalBox).Selection = ""; }
             _activeModalBox.Visible = false;
             _activeModalBox = null;
             _controlPanel.UpdateSelectedOption(Vector2.Zero);
         }
         else { ActivateModalBox("exit-confirm"); }
     }
 }