示例#1
0
文件: Tool.cs 项目: 0000duck/MiniRTS
        public Tool(ToolLinker linkedTools, ObjectTemplater templater, IEnumerable <ITool> tools)
        {
            this.LinkedTools  = linkedTools;
            this.Templater    = templater;
            this.ToolSelector = new ToolSelector(this, templater, tools);

            this.SelectMethod = typeof(Tool).GetMethods().First(m => m.Name.Contains(nameof(Change)) && m.GetParameters().Length == 2);
        }
示例#2
0
 public ToolSelector(Tool tool, ObjectTemplater templater, IEnumerable <ITool> tools)
 {
     this.Tools = tools
                  .Append(new EnumerableTool(tool))
                  .Append(new ObjectTool(templater, tool))
                  .ToList();
     this.SpecializedTools = new Dictionary <Type, TypedTools>();
 }
示例#3
0
 public ObjectTool(ObjectTemplater templater, Tool tool)
 {
     this.Templater = templater;
     this.Tool      = tool;
 }