public void DeleteWorldAnchor(TrackableBehaviour trackableBehaviour)
            {
                UnityEngine.XR.WSA.WorldAnchor wa = trackableBehaviour.GetComponent <UnityEngine.XR.WSA.WorldAnchor>();
                if (wa != null)
                {
                    if (mWorldAnchors.ContainsValue(wa))
                    {
                        // find all occurrences of that world anchor and remove them from the dict:
                        List <TrackableIdPair> idsToRemove = new List <TrackableIdPair>();
                        foreach (KeyValuePair <TrackableIdPair, UnityEngine.XR.WSA.WorldAnchor> kvp in mWorldAnchors)
                        {
                            if (kvp.Value == wa)
                            {
                                idsToRemove.Add(kvp.Key);
                            }
                        }

                        foreach (TrackableIdPair trackableIdPair in idsToRemove)
                        {
                            mWorldAnchors.Remove(trackableIdPair);
                        }
                    }

                    InternalDeleteWA(wa);
                }
            }
Пример #2
0
        private void OnTrackingFound()
        {
            Renderer[] rendererComponents = GetComponentsInChildren <Renderer>(true);
            Collider[] colliderComponents = GetComponentsInChildren <Collider>(true);

            /*if (tempcollidercomponents != null || temprenderercomponents != null)
             * {
             *  for (int i = 0; i < temprenderercomponents.Length; i++)
             *  {
             *      temprenderercomponents[i].enabled = false;
             *  }
             *  for (int i = 0; i < tempcollidercomponents.Length; i++)
             *  {
             *      tempcollidercomponents[i].enabled = false;
             *  }
             * }*/


            // Enable rendering:
            foreach (Renderer component in rendererComponents)
            {
                component.enabled = true;
            }

            // Enable colliders:
            foreach (Collider component in colliderComponents)
            {
                component.enabled = true;
            }

            Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");

            LoadOnClick.explode = false;

            if (mTrackableBehaviour.tag == "0")
            {
                suns = 1;
            }
            if (mTrackableBehaviour.tag == "3")
            {
                earth = true;
            }



            if (mTrackableBehaviour.GetComponent <AudioSource>() != null)
            {
                mTrackableBehaviour.GetComponent <AudioSource>().enabled = true;
                //mTrackableBehaviour.GetComponent<AudioSource>().Play();
            }



            /*if (mTrackableBehaviour.TrackableName == "3")
             * {
             *  foreach (GameObject g in earthtexts)
             *  {
             *      g.SetActive(false);
             *  }
             * }*/

            for (int i = 0; i < Satellites.Length; i++)
            {
                reset(sdefaultscale[i], sdefaultrotation[i], Satellites[i], sdefaultposition[i]);
            }
            foreach (GameObject o in ChildObjects)
            {
                o.SetActive(true);
            }

            for (int i = 0; i < TPlanets.Length; i++)
            {
                reset(defaultscale[i], defaultrotation[i], TPlanets[i], defaultposition[i]);
            }
            for (int i = 0; i < eobjects.Length; i++)
            {
                reset(edefaultscale[i], edefaultrotation[i], eobjects[i], edefaultposition[i]);
            }
        }