コード例 #1
0
        void m_trackableBehaviour_Clicked(VuforiaTrackableEventHandler trackable)
        {
            var medias = m_activeResourceMedia[trackable.Identifier];

            if (medias != null)
            {
                foreach (var m in medias.ToArray())
                {
                    if (m.OnSelect != null)
                    {
                        m.OnSelect();
                    }

                    ObjectInspectorManager.Instance.Select(m.ObjectId);
                }
            }

            var assets = m_activeResourceAssets[trackable.Identifier];

            if (assets != null)
            {
                foreach (var m in assets.ToArray())
                {
                    if (m.OnSelect != null)
                    {
                        m.OnSelect();
                    }

                    ObjectInspectorManager.Instance.Select(m.ObjectId);
                }
            }
        }
コード例 #2
0
        internal void StopTracking(VuforiaTrackableEventHandler m_trackableBehaviour)
        {
            if (m_trackingHold.Contains(m_trackableBehaviour))
            {
                m_trackingHold.Remove(m_trackableBehaviour);

                return;
            }

            // Pause all audio/video players
            var audioPlayers = m_trackableBehaviour.GetComponentsInChildren <AudioSubpanel>();
            var videoPlayers = m_trackableBehaviour.GetComponentsInChildren <VideoSubpanel>();

            foreach (var ap in audioPlayers)
            {
                ap.Pause();
            }

            foreach (var vp in videoPlayers)
            {
                vp.Pause();
            }

            List <GameObject> objs = new List <GameObject>();

            for (int i = 0; i < m_trackableBehaviour.gameObject.transform.childCount; i++)
            {
                var t = m_trackableBehaviour.gameObject.transform.GetChild(i);
                objs.Add(t.gameObject);
            }

            foreach (var obj in objs)
            {
                obj.transform.SetParent(null);
                obj.SetActive(false);
            }

            //m_trackableBehaviour.Clicked.RemoveAllListeners();

            if (m_trackableBehaviour.Identifier != null)
            {
                var instanceId = m_trackableBehaviour.Identifier;

                m_logger.Debug("stop tracking " + instanceId);

                m_trackingVuMarkers.Remove(m_trackableBehaviour.Identifier, m_trackableBehaviour);
            }
        }
コード例 #3
0
 internal void StopTracking(VuforiaTrackableEventHandler trackable)
 {
     base.OnLostTracking(trackable.Identifier.ToString(), trackable.gameObject);
 }
コード例 #4
0
        internal void StartTracking(VuforiaTrackableEventHandler trackableBehaviour)
        {
            // hack for now: clear any objects attached to this one
            for (int i = 0; i < trackableBehaviour.gameObject.transform.childCount; i++)
            {
                var t = trackableBehaviour.gameObject.transform.GetChild(i);
                //Destroy(t.gameObject);
            }

            var instanceId = trackableBehaviour.Identifier;

            m_logger.Debug("start tracking " + instanceId);

            m_trackingVuMarkers.Add(trackableBehaviour.Identifier, trackableBehaviour);

            var media = m_activeResourceMedia[trackableBehaviour.Identifier];

            m_logger.Debug("found {0} media items for {1}", media == null ? 0 : media.Count(), instanceId);

            if (media != null)
            {
                foreach (var c in media)
                {
                    trackableBehaviour.ExtendedTracking = c.Marker.UseExtendedTracking;

                    AttachMediaObject(c, trackableBehaviour.gameObject);

                    /*
                     *  m_trackableBehaviour.Identifier,
                     *  m_trackableBehaviour.gameObject,
                     *  c.ObjectId,
                     *  c.MediaUrl,
                     *  c.MediaType,
                     *  c.MediaLayout,
                     *  c.OnOpen,
                     *  c.OnSelect,
                     *  c.OnClose);*/
                }
            }

            var assets = m_activeResourceAssets[trackableBehaviour.Identifier];

            if (assets != null)
            {
                foreach (var a in assets)
                {
                    trackableBehaviour.ExtendedTracking = a.Marker.UseExtendedTracking;

                    AttachAssetObject(
                        a,
                        trackableBehaviour.gameObject);

                    /*
                     *  m_trackableBehaviour.Identifier,
                     *  m_trackableBehaviour.gameObject,
                     *  a.ObjectId,
                     *  a.AssetInstance,
                     *  a.MediaUrl,
                     *  a.MediaLayout,
                     *  a.OnOpen,
                     *  a.OnSelect);*/
                }
            }
        }