/** * REnemyManager.java */ package rampancy; import rampancy.util.*; import java.awt.*; import java.util.*; /** * @author Matthew Chun-Lum * */ public interface REnemyManager { public void updateReference(RampantRobot reference); /** * If the enemy is not being tracked, add a new {@link REnemyRobot} * instance and return that. Otherwise, simply retrieve the enemy * that corresponds to the passed name. * @param name the name of the enemy to look for * @return the {@link REnemyRobot} instance that corresponds * to the passed name */ public REnemyRobot findOrCreateByName(String name); /** * Adds a enemy to the enemy manager. Will replace the old enemy if it exists * @param name the name of the enemy to add to the manager * @return the {@link REnemyRobot} instance for the new enemy */ public REnemyRobot add(String name); /** * @param name the name of the enemy to retrieve * @return a {@link REnemyRobot} or {@code null} if the * enemy is not being tracked by the manager */ public REnemyRobot get(String name); /** * @param name the name of the enemy to remove from the manager * @return {@code true} if the enemy was present */ public boolean remove(String name); /** * Resets the tracking arrays and states of all enemy robots * currently tracked by the manager */ public void resetAll(); /** * @param g */ public void draw(Graphics2D g); }