package nl.tudelft.bw4t.server.model.robots; import nl.tudelft.bw4t.scenariogui.BotConfig; import nl.tudelft.bw4t.scenariogui.EPartnerConfig; import nl.tudelft.bw4t.server.model.BW4TServerMap; import nl.tudelft.bw4t.server.model.epartners.EPartner; import nl.tudelft.bw4t.server.model.robots.handicap.IRobot; /** * This defines the Factory interface to generate the robot classes with all their required handicaps. */ public interface EntityFactory { /** * sets the server map. * @param server map to be set */ void setServerMap(BW4TServerMap serverMap); /** * Create a default robot with one arm, normal size and speed. * @param name the entity name for this robot * @return the created robot */ IRobot makeDefaultRobot(String name); /** * Get a robot created according to the given specifications. * @param config the specification for the robot. * @return the created robot */ IRobot makeRobot(BotConfig config); /** * Make a new Epartner with the default configuration. * @param name the entity name for this e-partner * @return the e-partner object */ EPartner makeDefaultEPartner(String name); /** * Make a EPartner according to the given specifications. * @param c the configuration * @return the new e-partner */ EPartner makeEPartner(EPartnerConfig c); }