Exemplo n.º 1
0
    //************************************************************************************************************
    //Attach the distance information to the symbols in meter(user to symbols distance)
    public void AttachDistanceInfo()
    {
        for (int i = 0; i < indexies.Count; i++)
        {
            float      distanceToSymbol = 0;
            string     symbolID         = indexies[i];
            GameObject obj = symbols[symbolID];

            float latSymbol = locations[obj].getLatitude();
            float lonSymbol = locations[obj].getLongitude();


            //Get the distance (User to Symbol)
            //Debug.Log("cam lat: " + cameraController.cameraLocation.getLatitude() + "lat symbol: " + latSymbol);
            distanceToSymbol =
                distanceController.GetDistanceFromLatLonInMeter(cameraController.cameraLocation.getLatitude(), cameraController.cameraLocation.getLongitude(), latSymbol, lonSymbol);


            //In terms of Symbol Object Rotation active proper Distance holder
            //if (obj.transform.localEulerAngles.y > 180.0f)
            //{
            symbols[symbolID].transform.GetChild(0).GetComponent <Renderer>().enabled = true;
            symbols[symbolID].transform.GetChild(1).GetComponent <Renderer>().enabled = false;

            if (symbols[symbolID].transform.GetChild(0) != null)
            {
                if (distanceToSymbol < 1000.0f)
                {
                    float inMeter = distanceToSymbol;

                    symbols[symbolID].transform.GetChild(0).GetComponent <TMPro.TextMeshProUGUI>().text = inMeter.ToString("F1") + "metre";
                }
                else
                {
                    float inKm = distanceToSymbol / 1000;

                    symbols[symbolID].transform.GetChild(0).GetComponent <TMPro.TextMeshProUGUI>().text = inKm.ToString("F2") + "km";
                    //symbols[symbolID].transform.GetChild(0).GetComponent<TextMeshPro>().text = inKm.ToString("F2") + "km";
                }
            }
            //}

            /*if (obj.transform.localEulerAngles.y < 180.0f)
             * //{
             *  symbols[symbolID].transform.GetChild(1).GetComponent<Renderer>().enabled = true;
             *  symbols[symbolID].transform.GetChild(0).GetComponent<Renderer>().enabled = false;
             *
             *  if(symbols[symbolID].transform.GetChild(1) != null)
             *  {
             *      if (distanceToSymbol < 1000.0f)
             *      {
             *          float inMeter = distanceToSymbol;
             *          symbols[symbolID].transform.GetChild(1).GetComponent<TMPro.TextMeshPro>().text = inMeter.ToString("F1") + "\n" + "metre";
             *      }
             *      else
             *      {
             *          float inKm = distanceToSymbol / 1000;
             *          symbols[symbolID].transform.GetChild(1).GetComponent<TMPro.TextMeshPro>().text = inKm.ToString("F2") + "\n" + "km";
             *      }
             *  }
             * }*/

            //***Refresh the symbol texture rotations for correct orientation***
            SymbolTextureSetter(obj.transform.tag, obj);
        }
    }