AugmentedScene GetNearestScene() { AugmentedScene NearScene = Scene; float dist = -1; foreach (AugmentedScene scene in Scenes) { if (dist == -1) { dist = GPS.GetDistance(scene.Latitude, scene.Longitude, GPS.Lat, GPS.Lng); NearScene = scene; } else { float distance = GPS.GetDistance(scene.Latitude, scene.Longitude, GPS.Lat, GPS.Lng); if (distance < dist) { dist = distance; NearScene = scene; } } } // If near scene is not in the AR Scene Radius, we return the default scene if (DefaultScene != null) { if (dist > ARSceneRadius) { return(DefaultScene); } } else { Debug.Log("Missing Default Scene"); } return(NearScene); }
void Update() { if (ScText != null && DistText != null && SceneManager != null && SceneManager.Scene != null) { GPS gps = FindObjectOfType <GPS>(); ScStr = "Scene: " + SceneManager.Scene.Name; DistStr = "Dist: " + gps.GetDistance(SceneManager.Scene.Latitude, SceneManager.Scene.Longitude, gps.Lat, gps.Lng); if (ScText.text != ScStr) { ScText.text = ScStr; } if (DistText.text != DistStr) { DistText.text = DistStr; } } }