public LayeredConsoleEditor()
        {
            renderer = new LayeredSurfaceRenderer();

            layerManagementPanel             = new LayersPanel();
            layerManagementPanel.IsCollapsed = true;

            // Fill tools
            tools = new Dictionary <string, Tools.ITool>();
            tools.Add(Tools.PaintTool.ID, new Tools.PaintTool());
            tools.Add(Tools.LineTool.ID, new Tools.LineTool());
            tools.Add(Tools.TextTool.ID, new Tools.TextTool());
            tools.Add(Tools.CircleTool.ID, new Tools.CircleTool());
            tools.Add(Tools.RecolorTool.ID, new Tools.RecolorTool());
            tools.Add(Tools.FillTool.ID, new Tools.FillTool());
            tools.Add(Tools.BoxTool.ID, new Tools.BoxTool());
            tools.Add(Tools.SelectionTool.ID, new Tools.SelectionTool());

            toolsPanel = new ToolsPanel();
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.PaintTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.LineTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.TextTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.CircleTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.RecolorTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.FillTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.BoxTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.SelectionTool.ID]);

            toolsPanel.ToolsListBox.SelectedItemChanged += ToolsListBox_SelectedItemChanged;
            toolsPanel.ToolsListBox.SelectedItem         = tools[Tools.PaintTool.ID];

            panels = new CustomPanel[] { layerManagementPanel, toolsPanel };
        }
Exemple #2
0
        void initDockContainers()
        {
            layersPanel   = new LayersPanel();
            tilesetsPanel = new TilesetsPanel();

            layersDock.Controls.Add(layersPanel);
            tilesetsDock.Controls.Add(tilesetsPanel);
        }
        public SceneEditor()
        {
            layerManagementPanel = new LayersPanel()
            {
                IsCollapsed = true
            };
            toolsPanel = new ToolsPanel();

            // Fill tools
            tools = new Dictionary <string, Tools.ITool>
            {
                { Tools.PaintTool.ID, new Tools.PaintTool() },
                { Tools.LineTool.ID, new Tools.LineTool() },
                { Tools.CircleTool.ID, new Tools.CircleTool() },
                { Tools.RecolorTool.ID, new Tools.RecolorTool() },
                { Tools.FillTool.ID, new Tools.FillTool() },
                { Tools.BoxTool.ID, new Tools.BoxTool() },
                { Tools.SelectionTool.ID, new Tools.SelectionTool() },
                { Tools.SceneObjectMoveResizeTool.ID, new Tools.SceneObjectMoveResizeTool() },
                { Tools.HotspotTool.ID, new Tools.HotspotTool() }
            };

            toolsPanel.ToolsListBox.Items.Add(tools[Tools.SceneObjectMoveResizeTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.HotspotTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.PaintTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.LineTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.CircleTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.RecolorTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.FillTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.BoxTool.ID]);
            toolsPanel.ToolsListBox.Items.Add(tools[Tools.SelectionTool.ID]);

            toolsPanel.ToolsListBox.SelectedItemChanged += ToolsListBox_SelectedItemChanged;
            toolsPanel.ToolsListBox.SelectedItem         = tools[Tools.PaintTool.ID];

            GameObjectPanel = new Panels.GameObjectManagementPanel();
            ZonesPanel      = new RegionManagementPanel()
            {
                IsCollapsed = true
            };
            HotspotPanel = new HotspotToolPanel()
            {
                IsCollapsed = true
            };

            LinkedGameObjects = new Dictionary <GameObject, GameObject>();
            Objects           = new List <ResizableObject>();
            Zones             = new List <ResizableObject <Zone> >();
            Hotspots          = new List <Hotspot>();

            panels          = new CustomPanel[] { layerManagementPanel, GameObjectPanel, ZonesPanel, HotspotPanel, toolsPanel };
            renderer        = new LayeredSurfaceRenderer();
            hotspotRenderer = new SurfaceRenderer();
        }
Exemple #4
0
        public void FinishCreating()
        {
            ProcessMouseWithoutFocus = true;

            textSurface.DefaultBackground = Settings.Color_MenuBack;
            textSurface.DefaultForeground = Settings.Color_TitleText;
            Clear();

            _tools = new Dictionary <string, ITool>();
            _tools.Add(PaintTool.ID, new PaintTool());
            _tools.Add(RecolorTool.ID, new RecolorTool());
            _tools.Add(FillTool.ID, new FillTool());
            _tools.Add(TextTool.ID, new TextTool());
            _tools.Add(LineTool.ID, new LineTool());
            _tools.Add(BoxTool.ID, new BoxTool());
            //_tools.Add(ObjectTool.ID, new ObjectTool());
            _tools.Add(SelectionTool.ID, new SelectionTool());
            _tools.Add(CircleTool.ID, new CircleTool());
            _tools.Add(EntityCenterTool.ID, new EntityCenterTool());
            _tools.Add(SceneEntityMoveTool.ID, new SceneEntityMoveTool());

            FilesPanel  = new FilesPanel();
            ToolsPanel  = new ToolsPanel();
            LayersPanel = new LayersPanel();

            FilesPanel.IsCollapsed  = true;
            LayersPanel.IsCollapsed = true;

            ToolsPanel.ToolsListBox.SelectedItemChanged += (sender, e) =>
            {
                if (selectedTool != null)
                {
                    selectedTool.OnDeselected();
                    if (selectedTool.ControlPanels != null)
                    {
                        foreach (var pane in selectedTool.ControlPanels)
                        {
                            foreach (var control in pane.Controls)
                            {
                                Remove(control);
                            }
                        }
                    }
                }

                if (e.Item != null)
                {
                    selectedTool = (ITool)e.Item;
                    EditorConsoleManager.Instance.ToolName = selectedTool.Title;

                    EditorConsoleManager.Instance.AllowKeyboardToMoveConsole = true;
                    CommonCharacterPickerPanel.HideCharacter  = false;
                    CommonCharacterPickerPanel.HideForeground = false;
                    CommonCharacterPickerPanel.HideBackground = false;

                    selectedTool.OnSelected();
                    CommonCharacterPickerPanel.Reset();
                    RefreshControls();
                }
            };
        }