public final class TileSnapshot extends Tile
Tile.Listener, Tile.TileBuffer
InstanceKeeper.InstantiationListener<T>
bitLayerData, heightMap, layerData, tallHeightMap, tallWaterLevel, terrain, waterLevel
Constructor and Description |
---|
TileSnapshot(Tile tile,
org.pepsoft.util.undo.Snapshot snapshot) |
Modifier and Type | Method and Description |
---|---|
void |
addListener(Tile.Listener listener) |
protected void |
ensureReadable(Tile.TileBuffer buffer) |
void |
inhibitEvents()
Stop firing events when the tile is modified, until
Tile.releaseEvents() is invoked. |
boolean |
isEventsInhibited() |
void |
register(org.pepsoft.util.undo.UndoManager undoManager) |
void |
releaseEvents()
Release an inhibition on firing events.
|
void |
setBitLayerValue(Layer layer,
int x,
int y,
boolean value) |
void |
setHeight(int x,
int y,
float height) |
void |
setLayerValue(Layer layer,
int x,
int y,
int value) |
void |
setTerrain(int x,
int y,
Terrain terrain) |
void |
setWaterLevel(int x,
int y,
int waterLevel) |
java.lang.String |
toString() |
void |
unregister() |
bufferChanged, clearLayerData, clearLayerData, containsOneOf, doGetLayers, doGetSlope, equals, getActiveLayers, getAllTerrains, getBitLayerCount, getBitLayerValue, getDistanceToEdge, getFloodedCount, getHeight, getHighestHeight, getHighestIntHeight, getHighestRawHeight, getHighestWaterLevel, getIntHeight, getLayers, getLayers, getLayersAt, getLayerValue, getLowestHeight, getLowestIntHeight, getLowestRawHeight, getMaxHeight, getMinHeight, getRawHeight, getRawHeightRange, getSeeds, getSlope, getTerrain, getWaterLevel, getX, getY, hashCode, hasLayer, plantSeed, redoPerformed, removeListener, removeSeed, repair, savePointArmed, savePointCreated, setMinMaxHeight, setRawHeight, transform, undoPerformed
setInstantiationListener
public TileSnapshot(Tile tile, org.pepsoft.util.undo.Snapshot snapshot)
public void addListener(Tile.Listener listener)
addListener
in class Tile
public void unregister()
unregister
in class Tile
protected void ensureReadable(Tile.TileBuffer buffer)
ensureReadable
in class Tile
public boolean isEventsInhibited()
isEventsInhibited
in class Tile
public void register(org.pepsoft.util.undo.UndoManager undoManager)
public void setBitLayerValue(Layer layer, int x, int y, boolean value)
setBitLayerValue
in class Tile
public void inhibitEvents()
Tile
Tile.releaseEvents()
is invoked. Make sure that
releaseEvents()
is always invoked, even if an exception is thrown, by using a try-finally statement:
tile.inhibitEvents();
try {
// modify the tile
} finally {
tile.releaseEvents();
}
Note that calls to these methods may be nested, and if so, events will only be released after
the final invocation of releaseEvents()
.
inhibitEvents
in class Tile
public void releaseEvents()
Tile
Tile.inhibitEvents()
, but only if this is the last invocation of
releaseEvents()
in a nested set.releaseEvents
in class Tile
public void setLayerValue(Layer layer, int x, int y, int value)
setLayerValue
in class Tile
public void setTerrain(int x, int y, Terrain terrain)
setTerrain
in class Tile
public void setWaterLevel(int x, int y, int waterLevel)
setWaterLevel
in class Tile