Exemplo n.º 1
0
    public void HandleTargetFinderResult(Vuforia.TargetFinder.CloudRecoSearchResult targetSearchResult)
    {
        Debug.Log("<color=blue>HandleTargetFinderResult(): " + targetSearchResult.TargetName + "</color>");

        metadata = targetSearchResult.MetaData;
        metadata = metadata.Trim();

        Debug.Log("<color=red> meta data set to " + metadata + ".</color>");

        if (metadata != null)
        {
            string[] splitStrings = metadata.Split(' ');

            type = Convert.ToInt32(splitStrings[0]);

            if (type == 3)
            {
                if (!optionPanel.activeSelf)
                {
                    optionPanel.SetActive(true);
                }
                noOfQues   = Convert.ToInt32(splitStrings[1]);
                quizDomain = splitStrings[2];
                Debug.Log("<color=red> FROM METADATA : type{" + type + "}, noOfQues{" + noOfQues + "}, quizDomain{ " + quizDomain + "}.</color>");

                //Setting parameter to the QuizHolder

                QuestionsHolder.totalNoOfQuestions = noOfQues;
                QuestionsHolder.domain             = quizDomain.Trim();
                QuestionsHolder.StartCoroutine(QuestionsHolder.LoadQuestionFromDatabase());
            }
            else
            {
                resultUrl = splitStrings[1];
                Debug.Log("<color=red> FROM METADATA : type{" + type + "}, link{" + resultUrl + "}.</color>");
                //Setting parameter to the QuizHolder
                if (type == 1)
                {
                    ImageHolder.imageUrl = resultUrl.Trim();

                    Debug.Log("<color=red> Calling SpriteRenderer from could manager script  </color>");
                    ImageHolder.StartCoroutine(ImageHolder.loadSpriteImageFromUrl(ImageHolder.imageUrl));
                }
                else
                {
                    videoHolder.url = resultUrl.Trim();
                }
            }
        }

        cloudTargetInfo.text =
            "Name: " + targetSearchResult.TargetName +
            "\nRating: " + starRatings[targetSearchResult.TrackingRating] +
            "\nMetaData: " + ((targetSearchResult.MetaData.Length > 0) ? targetSearchResult.MetaData : "No") +
            "\nTarget Id: " + targetSearchResult.UniqueTargetId;



        GameObject augmentation = GetValuefromDictionary(Augmentations, type);

        if (augmentation != null)
        {
            if (augmentation.transform.parent != CloudTarget.transform)
            {
                Renderer[] augmentationRenderers;

                if (currentAugmentation != null && currentAugmentation.parent == CloudTarget)
                {
                    currentAugmentation.SetParent(contentManagerParent);
                    currentAugmentation.transform.localPosition = Vector3.zero;
                    currentAugmentation.transform.localScale    = Vector3.one;

                    augmentationRenderers = currentAugmentation.GetComponentsInChildren <Renderer>();
                    foreach (var objrenderer in augmentationRenderers)
                    {
                        objrenderer.gameObject.layer = LayerMask.NameToLayer("UI");
                        objrenderer.enabled          = true;
                    }
                }

                // store reference to content manager's parent object of the augmentation
                contentManagerParent = augmentation.transform.parent;
                // store reference to the current augmentation
                currentAugmentation = augmentation.transform;

                // set new target augmentation parent to cloud target
                augmentation.transform.SetParent(CloudTarget);
                augmentation.transform.localPosition = Vector3.zero;
                augmentation.transform.localScale    = Vector3.one;

                augmentationRenderers = augmentation.GetComponentsInChildren <Renderer>();
                foreach (var objrenderer in augmentationRenderers)
                {
                    objrenderer.gameObject.layer = LayerMask.NameToLayer("Default");
                    objrenderer.enabled          = true;
                }
            }
        }
    }