// Near Infinity - An Infinity Engine Browser and Editor
// Copyright (C) 2001 - 2005 Jon Olav Hauglid
// See LICENSE.txt for license information
package org.infinity.resource.are.viewer;
import java.util.EventObject;
public class TilesetChangeEvent extends EventObject
{
private boolean mapChanged, appearanceChanged, overlayChanged, doorStatechanged;
/**
* Constructs a TilesetChangeEvent object.
* @param source The object that is the source of the event.
* @param mapChanged If true, the whole map has been changed.
* @param overlayChanged If true, the overlay tiles have been changed.
* @param doorStatechanged If true, the door tiles have been changed.
*/
public TilesetChangeEvent(Object source, boolean mapChanged, boolean appearanceChanged,
boolean overlayChanged, boolean doorStatechanged)
{
super(source);
this.mapChanged = mapChanged;
this.appearanceChanged = appearanceChanged;
this.overlayChanged = overlayChanged;
this.doorStatechanged = doorStatechanged;
}
/**
* Returns true if the layout of the whole map has been changed (e.g. after loading a new tileset
* or changing the zoom level).
*/
public boolean hasChangedMap()
{
return mapChanged;
}
/**
* Returns true if only the appearance of the map tiles has changed (e.g. after changing lighting
* conditions or showing a grid).
*/
public boolean hasChangedAppearance()
{
return appearanceChanged;
}
/**
* Returns true if overlay tiles have been changed (e.g. after setting a different frame in
* animated overlays).
*/
public boolean hasChangedOverlay()
{
return overlayChanged;
}
/**
* Returns true if door tiles have been changed after setting the opened/closed state of doors.
*/
public boolean hasChangedDoorState()
{
return doorStatechanged;
}
}