public class History
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private boolean |
isRedo |
private org.jdom.Element |
loadedRedoLog |
private boolean |
loading
Set to true during the processing of
fireEventsFromXML(Server)
to avoid triggering events we just restored again. |
private static java.util.logging.Logger |
LOGGER |
private java.util.List<org.jdom.Element> |
recentEvents
History elements/events that happened since the last commit/"snapshot".
|
private org.jdom.Element |
root
History: events that happened before last commit point
|
Constructor and Description |
---|
History()
Stores the surviving legions (this variable is not needed any more)
While the history should contain all information to reproduce the game
state, the last set of legions is currently still loaded upfront since
they contain the battle-specific information.
|
History(org.jdom.Element loadGameRoot)
Constructor used by "LoadGame"
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
addCreatureEvent(AddCreatureAction event,
int turn,
java.lang.String reason)
TODO reconsider name
TODO decide if we should move it all into one big handleEvent(GameEvent) method
|
(package private) void |
fireEventFromElement(Server server,
org.jdom.Element el) |
(package private) void |
fireEventsFromXML(Server server) |
(package private) void |
flushRecentToRoot()
Reached a commit point: append all recent events to the history,
clear list of recent events; caller should do this together with creating
the next snapshot.
|
(package private) org.jdom.Element |
getCopy()
All events before last commit
|
(package private) org.jdom.Element |
getNewRedoLogElement() |
(package private) void |
legionMoveEvent(Legion legion,
MasterHex newHex,
EntrySide entrySide,
boolean teleport,
CreatureType lord) |
(package private) void |
legionUndoMoveEvent(Legion legion) |
(package private) void |
mergeEvent(java.lang.String splitoffId,
java.lang.String survivorId,
int turn) |
(package private) void |
movementRollEvent(Player player,
int roll) |
(package private) void |
playerElimEvent(Player player,
Player slayer,
int turn) |
(package private) void |
processRedoLog(Server server)
Fire all events from redoLog.
|
(package private) void |
recruitEvent(Legion legion,
CreatureType recruit,
CreatureType recruiter) |
(package private) void |
relocateLegionEvent(Legion legion) |
(package private) void |
removeCreatureEvent(Legion legion,
CreatureType creature,
int turn,
java.lang.String reason) |
(package private) void |
revealEvent(boolean allPlayers,
java.util.List<Player> players,
Legion legion,
java.util.List<CreatureType> creatures,
int turn,
java.lang.String reason) |
(package private) void |
splitEvent(Legion parent,
Legion child,
java.util.List<CreatureType> splitoffs,
int turn) |
(package private) void |
undoRecruitEvent(Legion legion) |
private static final java.util.logging.Logger LOGGER
private final org.jdom.Element root
private final java.util.List<org.jdom.Element> recentEvents
private boolean loading
fireEventsFromXML(Server)
to avoid triggering events we just restored again.private final org.jdom.Element loadedRedoLog
private boolean isRedo
public History()
public History(org.jdom.Element loadGameRoot)
org.jdom.Element getCopy()
void flushRecentToRoot()
org.jdom.Element getNewRedoLogElement()
void addCreatureEvent(AddCreatureAction event, int turn, java.lang.String reason)
void removeCreatureEvent(Legion legion, CreatureType creature, int turn, java.lang.String reason)
void relocateLegionEvent(Legion legion)
void splitEvent(Legion parent, Legion child, java.util.List<CreatureType> splitoffs, int turn)
void mergeEvent(java.lang.String splitoffId, java.lang.String survivorId, int turn)
void revealEvent(boolean allPlayers, java.util.List<Player> players, Legion legion, java.util.List<CreatureType> creatures, int turn, java.lang.String reason)
void movementRollEvent(Player player, int roll)
void legionMoveEvent(Legion legion, MasterHex newHex, EntrySide entrySide, boolean teleport, CreatureType lord)
void legionUndoMoveEvent(Legion legion)
void recruitEvent(Legion legion, CreatureType recruit, CreatureType recruiter)
void undoRecruitEvent(Legion legion)
void processRedoLog(Server server)
server
- The server on which to call all the actions to be redonevoid fireEventsFromXML(Server server)
void fireEventFromElement(Server server, org.jdom.Element el)