Shoot for the moon!

Part of the goal for the EVE Online CREST API challenge was to visualse the chosen trade route. To do this I've made use of both the CREST API and Static Data Export (SDE) to populate a series of uGUI buttons for each region.

undefined

There's not a whole lot of reasons to use the CREST API to poll static data such as regions, but it shows that I know how to use it. The next task is to show the constellations - which are collections of solar systems.

This was a little harder to pin down on a usability level, as you cannot reasonably show all 8035 solar systems without hitting performance issues but what I came up with appears to work well. When a region is clicked, it will make a request to the CREST API for that region (giving us a list of constellation IDs), which is then used to poll all solar systems in each constellation. A random colour is added at each constellation iteration.

WWW _www = new WWW("https://public-crest.eveonline.com/regions/" + _regionID + "/");

while (!_www.isDone) {
    yield return null;
}
    
Region _region = new Region();
_region = JsonUtility.FromJson<Region>(_www.text);

undefined

So there we have it. Visualisation of New Eden in Unity, making use of the CREST API and Static Data Export. The zoom was handled by simply scaling the ScrollView's content transform with the scroll wheel value, and inverting the scale on all child objects.

_obj.transform.localScale = (Vector3.one / _zoomTarget.localScale.x);

Where the _zoomTarget is the transform scaled by the scroll wheel.

Links in this post

 -