Пример #1
0
        public void Load()
        {
            Action noop     = () => {};
            Menu   guisMenu = new Menu(_editor.GameResolver, _editor.Editor.Settings, "GuisMenu", 180f,
                                       new MenuItem("Button", showButtonWizard),
                                       new MenuItem("Label", showLabelWizard),
                                       new MenuItem("ComboBox", showComboboxWizard),
                                       new MenuItem("TextBox", showTextboxWizard),
                                       new MenuItem("Inventory Window", showInventoryWindowWizard),
                                       new MenuItem("Checkbox", showCheckboxWizard),
                                       new MenuItem("Listbox", showListboxWizard),
                                       new MenuItem("Panel", showPanelWizard),
                                       new MenuItem("Slider", showSliderWizard));
            Menu presetsMenu = new Menu(_editor.GameResolver, _editor.Editor.Settings, "PresetsMenu", 100f,
                                        new MenuItem("Object", showObjectWizard),
                                        new MenuItem("Character", showCharacterWizard),
                                        new MenuItem("Area", showAreaWizard),
                                        new MenuItem("GUIs", guisMenu));

            _topMenu = new Menu(_editor.GameResolver, _editor.Editor.Settings, "CanvasMenu", 100f, new MenuItem("Create", presetsMenu));
            _topMenu.Load(_editor.Editor.Factory, _editor.Editor.Settings.Defaults);

            _editor.Editor.Input.MouseUp.Subscribe((MouseButtonEventArgs args) =>
            {
                if (args.Button == MouseButton.Right)
                {
                    if (!_toolbar.IsPaused)
                    {
                        return;
                    }
                    if (!_editor.IsEditorPositionInGameWindow(args.MousePosition.XMainViewport, args.MousePosition.YMainViewport))
                    {
                        return;
                    }
                    _potentialParent  = _editor.CanvasHitTest.ObjectAtMousePosition;
                    _topMenu.Position = (args.MousePosition.XMainViewport, args.MousePosition.YMainViewport);
                    _topMenu.Visible  = true;
                }
                else if (args.ClickedEntity == null)
                {
                    _topMenu.Visible = false;
                }
            });
        }