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