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);
    }
示例#2
0
    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;
            }
        }
    }