public Robot(IRobotAI <T> ai, Device <T> executor) { this.ai = ai; device = executor; }
public static Robot Create(IRobotAI <IMoveCommand> ai, IDevice <IMoveCommand> executor) { return(new Robot(ai, executor)); }
public Robot(IRobotAI <IMoveCommand> ai, IDevice <IMoveCommand> executor) { this.ai = ai; this.device = executor; }
public static Robot Create(IRobotAI <IMoveCommand> ai, IDevice <IMoveCommand> executor) => new Robot(ai, executor);
public Robot(IRobotAI <Type> ai, IDevice <Type> executor) { this.ai = ai; device = executor; }
public Robot(IRobotAI <TCommand> ai, IDevice <TCommand> executor) { this.ai = ai; device = executor; }