From a553022adf6287af5c72839e1eb62e86e5f7eeb2 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Thu, 27 Aug 2015 11:11:05 -0700 Subject: [PATCH] Update entities list as search radius value is changed --- examples/html/entityList.html | 11 ++++++++++- examples/libraries/entityList.js | 7 ++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/examples/html/entityList.html b/examples/html/entityList.html index 9d53d3c12d..d7524c199c 100644 --- a/examples/html/entityList.html +++ b/examples/html/entityList.html @@ -20,7 +20,9 @@ elRefresh = document.getElementById("refresh"); elDelete = document.getElementById("delete"); elTeleport = document.getElementById("teleport"); + elRadius = document.getElementById("radius"); elNoEntitiesMessage = document.getElementById("no-entities"); + elNoEntitiesRadius = document.getElementById("no-entities-radius"); document.getElementById("entity-name").onclick = function() { setSortColumn('name'); @@ -186,6 +188,13 @@ } }, false); + elRadius.onchange = function () { + elRadius.value = Math.max(elRadius.value, 0); + EventBridge.emitWebEvent(JSON.stringify({ type: 'radius', radius: elRadius.value })); + refreshEntities(); + elNoEntitiesRadius.firstChild.nodeValue = elRadius.value; + } + if (window.EventBridge !== undefined) { EventBridge.scriptEventReceived.connect(function(data) { data = JSON.parse(data); @@ -247,7 +256,7 @@
- No entities found within 50 meter radius. Try moving to a different location and refreshing. + No entities found within a 50 meter radius. Try moving to a different location and refreshing.
diff --git a/examples/libraries/entityList.js b/examples/libraries/entityList.js index 241ffb2766..e6bca9e7e1 100644 --- a/examples/libraries/entityList.js +++ b/examples/libraries/entityList.js @@ -4,6 +4,8 @@ EntityListTool = function(opts) { var url = Script.resolvePath('html/entityList.html'); var webView = new WebWindow('Entities', url, 200, 280, true); + var searchDiameter = 100; + var visible = false; webView.setVisible(visible); @@ -33,7 +35,7 @@ EntityListTool = function(opts) { that.sendUpdate = function() { var entities = []; - var ids = Entities.findEntities(MyAvatar.position, 100); + var ids = Entities.findEntities(MyAvatar.position, searchDiameter); for (var i = 0; i < ids.length; i++) { var id = ids[i]; var properties = Entities.getEntityProperties(id); @@ -80,6 +82,9 @@ EntityListTool = function(opts) { } } else if (data.type == "delete") { deleteSelectedEntities(); + } else if (data.type === "radius") { + searchDiameter = 2 * data.radius; + that.sendUpdate(); } });