Exemple #1
0
    /// <summary>
    /// Enabled/disabled Extended Tracking mode.
    /// </summary>
    /// <param name="ON"></param>
    public virtual void SwitchExtendedTracking(bool enableExtendedTracking)
    {
        StateManager stateManager = TrackerManager.Instance.GetStateManager();

        // We iterate over all TrackableBehaviours to start or stop extended tracking for the targets they represent.
        bool success = true;

        foreach (TrackableBehaviour tb in stateManager.GetTrackableBehaviours())
        {
            if (tb is DataSetTrackableBehaviour)
            {
                if (tb.Trackable is ObjectTarget)
                {
                    ObjectTarget target = tb.Trackable as ObjectTarget;

                    if (enableExtendedTracking)
                    {
                        success = target.StartExtendedTracking();

                        if (success)
                        {
                            Debug.Log("Successfully started Extended Tracking on Target: " + tb.TrackableName);
                        }
                        else
                        {
                            Debug.LogError("Failed to start Extended Tracking on Target: " + tb.TrackableName);
                        }
                    }
                    else
                    {
                        target.StopExtendedTracking();
                    }
                }
            }
        }
        mExtTrackingEnabled = success && enableExtendedTracking;
    }
    public void OnExtendedTrackingQualityChanged(ObjectTarget target, ExtendedTrackingQuality oldQuality, ExtendedTrackingQuality newQuality)
    {
        /* Update the UI based on the new extended tracking quality. */
        switch (newQuality)
        {
        case ExtendedTrackingQuality.Bad:
            TrackingQualityText.text        = "Target: " + target.Name + " Quality: Bad";
            TrackingQualityBackground.color = Color.red;
            break;

        case ExtendedTrackingQuality.Average:
            TrackingQualityText.text        = "Target: " + target.Name + " Quality: Average";
            TrackingQualityBackground.color = Color.yellow;
            break;

        case ExtendedTrackingQuality.Good:
            TrackingQualityText.text        = "Target: " + target.Name + " Quality: Good";
            TrackingQualityBackground.color = Color.green;
            break;

        default:
            break;
        }
    }
Exemple #3
0
        private static ITarget CreateTargetFromService(ServiceDescriptor service)
        {
            ITarget target = null;

            //three main types of service registration - delegate factory,
            if (service.ImplementationType != null)
            {
                //this factory function checks for Generic Types and uses GenericConstructorTarget accordingly.
                target = Target.ForType(service.ImplementationType);
            }
            else if (service.ImplementationInstance != null)
            {
                target = new ObjectTarget(service.ImplementationInstance, service.ServiceType);
            }
            else if (service.ImplementationFactory != null)
            {
                // default to No scope interaction
                target = Target.ForDelegate(c => service.ImplementationFactory(c), service.ServiceType, ScopeBehaviour.None);
            }

            if (target != null)
            {
                switch (service.Lifetime)
                {
                case ServiceLifetime.Singleton:
                    target = new SingletonTarget(target);
                    break;

                case ServiceLifetime.Scoped:
                    target = new ScopedTarget(target);
                    break;
                }
            }

            return(target);
        }
 public void OnObjectLost(ObjectTarget target)
 {
     TrackingQualityText.text        = "Target lost";
     TrackingQualityBackground.color = Color.white;
 }
 public void OnObjectRecognized(ObjectTarget target)
 {
     /* Now that a target was recognized, show the Stop Extended Tracking button. */
     StopExtendedTrackingButton.SetActive(true);
 }
 public void OnObjectRecognized(ObjectTarget recognizedTarget)
 {
     _isInstructionsAnimationPlaying = false;
     _isSirenAnimationPlaying        = false;
 }
Exemple #7
0
 public void OnObjectRecognized(ObjectTarget target)
 {
     StopExtendedTrackingButton.SetActive(true);
 }
Exemple #8
0
 private void OnObjectRecognized(ObjectTarget target)
 {
     _recognizedTargetObject = target.Drawable.transform.parent.gameObject;
 }
Exemple #9
0
 public void OnTargetLost(ObjectTarget target)
 {
     informationText.text        = "ObjectTarget: " + target.Name + " Lost";
     informationBackground.color = Color.red;
 }
Exemple #10
0
 public void OnTargetRecognized(ObjectTarget target)
 {
     instructionsGameObject.SetActive(false);
     informationText.text        = "ObjectTarget: " + target.Name + " Recognized";
     informationBackground.color = Color.green;
 }