Beispiel #1
0
        public override void SetFocus(bool focus)
        {
            var obj = GetNearestWorldObject();

            // Todo: should use same delegate as ar catcher
            if (focus)
            {
                m_guideData = new ARGuideData
                {
                    Instructions = Task.Title,
                    Range        = Task.ActionRange,
                    WorldObject  = obj
                };

                ARViewManager.Instance.SetGuide(m_guideData);
            }
            else
            {
                if (m_guideData != null)
                {
                    ARViewManager.Instance.ClearGuide(m_guideData);
                }
            }

            base.SetFocus(focus);
        }
        public void SetFocus(LocationTaskDriver driver, ARWorldObject worldObject, bool focus)
        {
            if (worldObject != null)
            {
                var task = driver.Task;

                if (focus)
                {
                    m_guideData = new ARGuideData
                    {
                        Instructions = task.Title,
                        Range        = task.ActionRange,
                        WorldObject  = worldObject
                    };

                    ARViewManager.Instance.SetGuide(m_guideData);

                    var text = driver.IsTakeTask ?
                               Localize.GetLocalizedString("ARAnnotation.TapToTake", "Tap to Collect") :
                               (driver.IsGiveTask ? Localize.GetLocalizedString("ARAnnotation.TapToPut", "Tap to Put") : null);

                    ARAnnotationViewController.Instance.AddTapAnnotation(worldObject, text);
                }
                else
                {
                    if (m_guideData != null)
                    {
                        ARViewManager.Instance.ClearGuide(m_guideData);
                    }
                    ARAnnotationViewController.Instance.RemoveTapAnnotation(worldObject);
                }
            }
        }