package games.strategy.triplea.delegate.remote; import games.strategy.engine.data.PlayerID; import games.strategy.engine.data.TechnologyFrontier; import games.strategy.engine.delegate.IDelegate; import games.strategy.engine.message.IRemote; import games.strategy.triplea.delegate.dataObjects.TechResults; import games.strategy.util.IntegerMap; public interface ITechDelegate extends IRemote, IDelegate { /** * @param rollCount * the number of tech rolls * @param techToRollFor * the tech category to roll for, should be null if the game does not support * rolling for certain techs * @param newTokens * if WW2V3TechModel is used it set rollCount * @return TechResults. If the tech could not be rolled, then a message saying why. */ TechResults rollTech(int rollCount, TechnologyFrontier techToRollFor, int newTokens, IntegerMap<PlayerID> whoPaysHowMuch); }