package net.sf.colossus.variant; import java.util.Set; /** * Interface for recruiting. All recruiting should go through one of those. * Eventually. * @author Romain Dolbeau */ public interface IRecruiting { /** Return the number of recruiter needed to obtain a recruit in hex * @param recruiter The Recruiter * @param recruit The Recruit * @param hex The hexagon in which the recruiting occurs * @return The number of recruiter needed to obtain a recruit in hex */ public int numberOfRecruiterNeeded(CreatureType recruiter, CreatureType recruit, MasterHex hex); /** Return all the CreatureType that can be (somehow) recruited in the hex. * @param hex The hexagon to consider * @return All CreatureType that can be recruited in hex */ public Set<CreatureType> getPossibleRecruits(MasterHex hex); /** Return all the CreatureType that can be recruits (something) in the hex. * @param hex The hexagon to consider * @return All CreatureType that can recruit in hex */ public Set<CreatureType> getPossibleRecruiters(MasterHex hex); public int maximumNumberNeededOf(CreatureType ct, MasterHex hex); }