package tim.prune.threedee; /** * Holds the definition of the terrain to use * (whether or not to use a terrain, and the resolution) */ public class TerrainDefinition { private boolean _useTerrain = false; private int _gridSize = 0; /** * Empty constructor specifying no terrain */ public TerrainDefinition() { this(false, 0); } /** * Constructor * @param inUse true to use a terrain * @param inGridSize size of grid */ public TerrainDefinition(boolean inUse, int inGridSize) { setUseTerrain(inUse, inGridSize); } /** * Set the parameters * @param inUse true to use a terrain * @param inGridSize size of grid */ public void setUseTerrain(boolean inUse, int inGridSize) { _useTerrain = inUse; _gridSize = inGridSize; } /** * @return true if terrain should be used, false otherwise */ public boolean getUseTerrain() { return _useTerrain && _gridSize > 2; } /** * @return grid size */ public int getGridSize() { return _gridSize; } @Override /** * Compare two TerrainDefinitions to see if they're equal */ public boolean equals(Object obj) { if (obj == null || !(obj instanceof TerrainDefinition)) { return false; } TerrainDefinition other = (TerrainDefinition) obj; return _useTerrain == other._useTerrain && _gridSize == other._gridSize; } }