I was considering pre/post events for las sat strikes and save, but was worried it might be overkill. I guess it's more semantically correct to separate them out, but I usually just use events to trigger code elsewhere (eg. trigger code within an OO structure), for example:
Code: Select all
function eventGameSave(before) {
if (before) { // generate saveable data objects
PersistanceMgr.prepareForSave();
} else { // clear down saveable data objects
PersistanceMgr.tidyAfterSave();
}
}
function eventLaserSatelliteStrike(from, warning, x, y) {
if (warning) { // lassat about to fire
droidMgr.scatterDroids();
} else { // recover from possible damage
sectors.getSector(x,y).initiateRepairs();
}
}
I currently handle the load scenario like this:
Code: Select all
function eventStartLevel() {
if (typeof loaded != "undefined") PersistanceMgr.gameLoaded();
eval(null,"var loaded = true;"); // if game is saved then loaded, we'll detect this next time evnetStartLevel runs
}