public void AddTool(ToolType toolType, Tool tool) { tool.DependencyInjection(CreateAlert, GetCurrentlySelectedNode, SetSelectedWorldObject); toolList.Add(toolType, tool); }
public void SetTool(ToolType toolType) { Tool nextTool; if (!toolList.TryGetValue(toolType, out nextTool)) { Console.WriteLine("No matching tool found for :: {0}", toolType); return; } if (!nextTool.Initialize()) return; if (_currentTool != null) { foreach (var worldObject in WorldObjects) { _currentTool.Remove(worldObject); } } foreach (var worldObject in WorldObjects) { nextTool.Apply(worldObject); } _currentTool = nextTool; }