From 1fb27a75c456f4a3355e27b8dc325530e0616c45 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Mon, 29 Jun 2015 02:51:13 +0100 Subject: [PATCH] pass loaded portal details via a hook into the portal render code - so placeholder portals get updated (highlighters, etc) as you view them --- code/map_data_render.js | 1 - code/map_data_request.js | 7 +++++++ code/portal_detail.js | 6 +++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/code/map_data_render.js b/code/map_data_render.js index 36aef41f..69e04ff1 100644 --- a/code/map_data_render.js +++ b/code/map_data_render.js @@ -4,7 +4,6 @@ window.Render = function() { - this.portalMarkerScale = undefined; } diff --git a/code/map_data_request.js b/code/map_data_request.js index c3b3b29c..29b44532 100644 --- a/code/map_data_request.js +++ b/code/map_data_request.js @@ -69,6 +69,13 @@ window.MapDataRequest = function() { // ensure we have some initial map status this.setStatus ('startup', undefined, -1); + + // add a portalDetailLoaded hook, so we can use the exteneed details to update portals on the map + var _this = this; + addHook('portalDetailLoaded',function(data){ + _this.render.processGameEntities([data.ent]); + }); + } diff --git a/code/portal_detail.js b/code/portal_detail.js index 8e8f80a7..55400098 100644 --- a/code/portal_detail.js +++ b/code/portal_detail.js @@ -37,8 +37,12 @@ var handleResponse = function(guid, data, success) { } if (success) { + var dict = decodeArray.portalDetail(data.result); + // entity format, as used in map data + var ent = [guid,dict.timestamp,data.result]; + cache.store(guid,dict); //FIXME..? better way of handling sidebar refreshing... @@ -47,7 +51,7 @@ var handleResponse = function(guid, data, success) { renderPortalDetails(guid); } - window.runHooks ('portalDetailLoaded', {guid:guid, success:success, details:dict}); + window.runHooks ('portalDetailLoaded', {guid:guid, success:success, details:dict, ent:ent}); } else { if (data && data.error == "RETRY") {