diff --git a/js/GUI.Utils.js b/js/GUI.Utils.js index 742124a..9238c94 100644 --- a/js/GUI.Utils.js +++ b/js/GUI.Utils.js @@ -7,10 +7,21 @@ $(document).ready(function() { }); // Reset view - $('.reset-container').click(function(){ reset_view(); }); + $('.reset-container').click(function(){ reset_view();}); $('#submitfindbyname').click(function() { var selected = $('#findbyselect option:selected').text(); - zoomfocus(selected); + var object = findObjectInfo(selected); + zoomfocus(selected); + // Populate information area about target + console.log(object) + var objdata = "Name: " + object.name + "
"; + objdata += "
Location (Galactic Ref.)
X: " + object.x + "
Y: " + object.y + "
Z: " + object.z; + objdata += "

Classification
" + object.type; + objdata += "

Owning Faction
" + object.parent.name; + $('#findbydata').html(objdata) + + + }); $('#route_output').change(function() { var stop=$('#route_output :selected').parent().attr('label'); diff --git a/js/mapviewgl.js b/js/mapviewgl.js index dba52ed..e0df0af 100644 --- a/js/mapviewgl.js +++ b/js/mapviewgl.js @@ -192,14 +192,14 @@ function animate() { function render () { //requestAnimationFrame( render ); - + var objectlist = Object.keys(listobjects("stations")); objectlist.forEach (function(station) { var obj = scene.getObjectByName(escapeHTML(station + "_label")); obj.lookAt(camera.position) }) ; objectlist = Object.keys(listobjects("planets")); objectlist.forEach (function(planet) { var obj = scene.getObjectByName(escapeHTML(planet + "_label")); obj.lookAt(camera.position) }) ; objectlist = Object.keys(listobjects("borders")); objectlist.forEach (function(border) { var obj = scene.getObjectByName(border + "_label"); if (obj != undefined) { obj.lookAt(camera.position)} }) ; - + renderer.render( scene, camera ); } @@ -371,7 +371,7 @@ function calcBestRoute(pointa,pointb) { } // End gate work... - + // Calculate wormhole route // Qon does this by quadrant. Frey does this by brute force. The following may be really scary. jsonWormhole.forEach(function(wh) { distance_wb[wh.enda.location] = calcDist(pointb,wh.enda.location); distance_wb[wh.endb.location] = calcDist(pointb,wh.endb.location); }); @@ -449,3 +449,35 @@ function predictDestination(loc,heading,frame) { function boundingSphereGrab(name){ return scene.getObjectByName(name) } + +function findObjectInfo(name) { + var object = {}; + var types = ["stations","planets","borders"]; + types.forEach(function(type) { + for (var key in jsonEmpire) { + area=jsonEmpire[key]; + for (var key2 in area[type]) { + + if(escapeHTML(area[type][key2].name) == name) { + object = area[type][key2]; + object.parent = jsonEmpire[key]; + switch(type) { + case 'planets': + object.type = "Planet"; + break; + case 'borders': + object.type = "Territory"; + break; + case 'stations': + object.type = "Starbase/Base/Station"; + break; + default: + object.type = "Currently Unknown" + } + + } + + } + }}); + return object; + } diff --git a/webviewgl.htm b/webviewgl.htm index f414d53..2008886 100644 --- a/webviewgl.htm +++ b/webviewgl.htm @@ -128,8 +128,14 @@
+ + + + +

+
Route Planner