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