Ejemplo n.º 1
0
        public SierraVgaController(AssetManager assets, IMouse mouse)
            : base(assets, mouse)
        {
            this.Assets.RootDirectory = "Content/Gui/Sierra Vga";
            Mouse.Cursor = Cursors.Walk;
            Mouse.SaveCursorToBackup();
            Mouse.ButtonUp += MouseControllerOnButtonUp;

            StatusBar             = new StatusBar(assets);
            StatusBar.MouseEnter += TopBarOnMouseEnter;

            VerbBar             = new VerbBar(assets);
            VerbBar.MouseLeave += VerbBarOnMouseLeave;

            TextBox = new TextBox(assets);

            Rest = new Rest(assets);

            ExtensionBar = new ExtensionBar(assets);

            Windows.Add(StatusBar);
            Windows.Add(VerbBar);
            Dialogs.Add(TextBox);
            Dialogs.Add(Rest);
            Dialogs.Add(ExtensionBar);
        }
Ejemplo n.º 2
0
        private void MouseControllerOnButtonUp(object sender, MouseButtonClickEventArgs e)
        {
            if (Dialog.IsShownInCurrentLoopIteration)
            {
                return;
            }

            if (TextBox.IsVisible)
            {
                TextBox.Hide();
                return;
            }

            if (ExtensionBar.IsVisible && !ExtensionBar.Intersects(Mouse.X, Mouse.Y))
            {
                ExtensionBar.Hide();
                return;
            }

            if (Rest.IsVisible && !Rest.Intersects(Mouse.X, Mouse.Y))
            {
                Rest.Hide();
                return;
            }

            if (Renderer.IsPaused)
            {
                return;
            }

            switch (e.Button)
            {
            case MouseButton.Left:
                MouseSierraVgaOnLeftButtonUp(sender, e);
                break;

            case MouseButton.Middle:
                MouseControllerOnMiddleButtonUp(sender, e);
                break;

            case MouseButton.Right:
                MouseControllerOnRightButtonUp(sender, e);
                break;

            // No action for extra buttons
            case MouseButton.X1:
            case MouseButton.X2:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }