2013-08-21 04:12:02 +01:00

61 lines
1.7 KiB
JavaScript

// MAP DATA RENDER ////////////////////////////////////////////////
// class to handle rendering into leaflet the JSON data from the servers
window.Render = function() {
}
// start a render pass. called as we start to make the batch of data requests to the servers
window.Render.prototype.startRenderPass = function() {
this.isRendering = true;
this.deletedGuid = {}; // object - represents the set of all deleted game entity GUIDs seen in a render pass
}
// process deleted entity list and entity data
window.Render.prototype.processTileData(deleted, entities) {
this.processDeletedGameEntityGuids(deleted);
this.processGameEntities(entities);
}
window.Render.prototype.processDeletedGamEntityGuids(deleted) {
for(var i in deleted) {
var guid = deleted[i];
if ( !(guid in this.deletedGuid) ) {
this.deletedGuid[guid] = true; // flag this guid as having being processed
// the original code this is based on checked to see if the guid was for a field - and if so, removed it from the linkedFields of the relevant portals
// given that the server will also return updated portals - and the linkedFields data is not actively used in IITC, this seems pointless.
this.deleteEntity(guid);
}
}
}
window.Render.prototype.processGameEntities(entities) {
for (var i in entities) {
var ent = entities[i];
this.renderEntity(ent);
}
// TODO: reconstruct links 'optimised' out of the data from the portal link data
}
// end a render pass. does any cleaning up required, postponed processing of data, etc. called when the render
// is considered complete
window.Render.prototype.endRenderPass = function() {
this.isRendering = false;
}