Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        public SceneEditor()
        {
            consoleWrapper = new Console(1, 1);
            consoleWrapper.Renderer = new LayeredTextRenderer();
            consoleWrapper.MouseHandler = ProcessMouse;
            consoleWrapper.CanUseKeyboard = false;

            consoleWrapper.MouseMove += (o, e) => { toolsPanel.SelectedTool?.MouseMoveSurface(e.OriginalMouseInfo, textSurface); };
            consoleWrapper.MouseEnter += (o, e) => { toolsPanel.SelectedTool?.MouseEnterSurface(e.OriginalMouseInfo, textSurface); };
            consoleWrapper.MouseExit += (o, e) => { toolsPanel.SelectedTool?.MouseExitSurface(e.OriginalMouseInfo, textSurface); };

            layerManagementPanel = new LayersPanel() { IsCollapsed = true };
            toolsPanel = new ToolsPanel();

            // 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.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());
            tools.Add(Tools.SceneObjectMoveResizeTool.ID, new Tools.SceneObjectMoveResizeTool());
            tools.Add(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;

            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 };
        }