コード例 #1
0
 public bool Equals(Artefact artefact)
 {
     if ((object)artefact == null)
     {
         return(false);
     }
     return((getName() == artefact.getName()) && (getId() == artefact.getId()));
 }
コード例 #2
0
    void Update()

    {
        // Only is the panel is hidden
        if (!isPanelUp())
        {
            Artefact currentArtefact = game.getCurrentArtefact();
            //Debug.Log ("artefact" + currentArtefact.getName());
            if (currentArtefact != null)
            {
                Transform artTransform = GameObject.Find(currentArtefact.getName()).transform;
                if (Input.touchCount == 1)
                {
                    var touch = Input.GetTouch(0);

                    switch (touch.phase)
                    {
                    case TouchPhase.Moved:

                        artTransform.Translate(0, touch.deltaPosition.y * 0.3f, 0);
                        artTransform.Rotate(0, -touch.deltaPosition.x * 0.3f, 0);

                        if (!isVector3DInsideBottomWindow(artTransform.position))
                        {
                            artTransform.Translate(0, -touch.deltaPosition.y * 0.3f, 0);
                            artTransform.Rotate(0, +touch.deltaPosition.x * 0.3f, 0);
                        }
                        break;
                    }
                }
                else if (Input.touchCount == 2)
                {
                    Touch touchZero = Input.GetTouch(0);
                    Touch touchOne  = Input.GetTouch(1);

                    Vector2 touchZeroPrevPos = touchZero.position - touchZero.deltaPosition;
                    Vector2 touchOnePrevPos  = touchOne.position - touchOne.deltaPosition;

                    float prevTouchDeltaMag = (touchZeroPrevPos - touchOnePrevPos).magnitude;
                    float touchDeltaMag     = (touchZero.position - touchOne.position).magnitude;

                    float deltaMagnitudeDiff = prevTouchDeltaMag - touchDeltaMag;

                    GetComponent <Camera> ().fieldOfView += deltaMagnitudeDiff * perspectiveZoomSpeed;
                    GetComponent <Camera> ().fieldOfView  = Mathf.Clamp(GetComponent <Camera> ().fieldOfView, 20.1f, 120.9f);
                }
            }
            else
            {
                Debug.Log("TODO selectedArtefact is null");
            }
        }
    }
コード例 #3
0
    public override bool Equals(System.Object obj)
    {
        if (obj == null)
        {
            return(false);
        }

        Artefact artefact = obj as Artefact;

        if ((System.Object)artefact == null)
        {
            return(false);
        }
        return((getName() == artefact.getName()) && (getId() == artefact.getId()));
    }
コード例 #4
0
    public void updateActiveArtefact()
    {
        Collection collection      = game.getCollection();
        Artefact   currentArtefact = game.getCurrentArtefact();

        foreach (Artefact artefact in collection)
        {
            GameObject artefactObject = GameObject.Find(artefact.getName());
            //TODO implement equal for artfat
            if (artefact.getName() != currentArtefact.getName())
            {
                artefactObject.SetActive(false);
            }
            else
            {
                artefactObject.SetActive(true);
            }
        }
    }
コード例 #5
0
        private void OnTrackingFound()
        {
            bool isVisible = false;
            Collider artefactCollider = new Collider();
            Renderer artefactRenderer = new Renderer(), artefactRendererExtra = new Renderer(), questionMarkRenderer = new Renderer();
            Artefact currArtefact = new Artefact ();

            Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);
            Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);

            // Each time a new artefact is found, clean any old pup up messages
            GameObject.Find("CameraFinderSceneManager").GetComponent<PopUpManager>().setShowPopUp(false);

            // Enable rendering:
            foreach (Renderer component in rendererComponents)
            {
                string componentName = component.gameObject.name.Replace("Texture","");

                if(componentName == "Cippus0" || componentName == "Cippus1"){
                    if(componentName == "Cippus0"){
                        artefactRendererExtra = component;
                    }
                    componentName = "Cippus";
                }

                currArtefact = game.getCollection().getArtefactByName(componentName);
                //Debug.Log("Renderer: " + componentName);

                if(componentName == "FindOtherFirst")
                    questionMarkRenderer = component;

                else if(currArtefact != null)
                    artefactRenderer = component;
            }

            // Enable colliders:
            foreach (Collider component in colliderComponents)
            {
                currArtefact = game.getCollection().getArtefactByName(component.name);
                //Debug.Log("Collider: " + component.name);

                if(currArtefact != null){
                    artefactCollider = component;
                }
            }

            // Show the artefact
            if (currArtefact != null && currArtefact.getId() <= game.getCollectionStatus().getNextToCollect()) {
                // Only if the previous message has already been dismissed
                if(GameObject.Find ("InfoPanel-CameraFinder") == null){
                    // Only if first artefact and not already collrcted
                    // If you dont want to show anymore after the OK button was pressed add:
                    // && !SharedInfo.getSceneStatus().isVisited("ARartefact");
                    if(currArtefact.getId() == 0 && !game.collectionStatus.isCollected(currArtefact)  && !SharedInfo.getSceneStatus().isVisited("ARartefact")){
                        // Retrive unactive panel
                        Component[] infoPanels = GameObject.Find("InfoPanels").GetComponentsInChildren( typeof(Transform), true );
                        foreach(Component temp in infoPanels){
                            if (temp.name == "InfoPanel-ARartefact"){
                                temp.gameObject.SetActive(true);
                            }
                        }
                        GameObject.Find("InfoPanel-ARartefact").GetComponent<SceneStatusManager>().setShowPopUp(true);
                        // OR
                        //SharedInfo.getSceneStatus().setVisited ("ARartefact");
                        //GameObject.Find("InfoPanel-ARartefact").GetComponent<SceneStatusManager>().UpdateOnce();
                    }

                }
                questionMarkRenderer.enabled = false;
                artefactCollider.enabled = true;
                artefactRenderer.enabled = true;
                if(currArtefact.getName() == "Cippus")
                    artefactRendererExtra.enabled = true;

            } else {

                artefactCollider.enabled = false;
                artefactCollider.enabled = false;
                questionMarkRenderer.enabled = true;

            }

            //Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
        }
コード例 #6
0
        private void OnTrackingFound()
        {
            bool     isVisible = false;
            Collider artefactCollider = new Collider();
            Renderer artefactRenderer = new Renderer(), artefactRendererExtra = new Renderer(), questionMarkRenderer = new Renderer();
            Artefact currArtefact = new Artefact();

            Renderer[] rendererComponents = GetComponentsInChildren <Renderer>(true);
            Collider[] colliderComponents = GetComponentsInChildren <Collider>(true);

            // Each time a new artefact is found, clean any old pup up messages
            GameObject.Find("CameraFinderSceneManager").GetComponent <PopUpManager>().setShowPopUp(false);

            // Enable rendering:
            foreach (Renderer component in rendererComponents)
            {
                string componentName = component.gameObject.name.Replace("Texture", "");

                if (componentName == "Cippus0" || componentName == "Cippus1")
                {
                    if (componentName == "Cippus0")
                    {
                        artefactRendererExtra = component;
                    }
                    componentName = "Cippus";
                }

                currArtefact = game.getCollection().getArtefactByName(componentName);
                //Debug.Log("Renderer: " + componentName);

                if (componentName == "FindOtherFirst")
                {
                    questionMarkRenderer = component;
                }

                else if (currArtefact != null)
                {
                    artefactRenderer = component;
                }
            }

            // Enable colliders:
            foreach (Collider component in colliderComponents)
            {
                currArtefact = game.getCollection().getArtefactByName(component.name);
                //Debug.Log("Collider: " + component.name);

                if (currArtefact != null)
                {
                    artefactCollider = component;
                }
            }


            // Show the artefact
            if (currArtefact != null && currArtefact.getId() <= game.getCollectionStatus().getNextToCollect())
            {
                // Only if the previous message has already been dismissed
                if (GameObject.Find("InfoPanel-CameraFinder") == null)
                {
                    // Only if first artefact and not already collrcted
                    // If you dont want to show anymore after the OK button was pressed add:
                    // && !SharedInfo.getSceneStatus().isVisited("ARartefact");
                    if (currArtefact.getId() == 0 && !game.collectionStatus.isCollected(currArtefact) && !SharedInfo.getSceneStatus().isVisited("ARartefact"))
                    {
                        // Retrive unactive panel
                        Component[] infoPanels = GameObject.Find("InfoPanels").GetComponentsInChildren(typeof(Transform), true);
                        foreach (Component temp in infoPanels)
                        {
                            if (temp.name == "InfoPanel-ARartefact")
                            {
                                temp.gameObject.SetActive(true);
                            }
                        }
                        GameObject.Find("InfoPanel-ARartefact").GetComponent <SceneStatusManager>().setShowPopUp(true);
                        // OR
                        //SharedInfo.getSceneStatus().setVisited ("ARartefact");
                        //GameObject.Find("InfoPanel-ARartefact").GetComponent<SceneStatusManager>().UpdateOnce();
                    }
                }
                questionMarkRenderer.enabled = false;
                artefactCollider.enabled     = true;
                artefactRenderer.enabled     = true;
                if (currArtefact.getName() == "Cippus")
                {
                    artefactRendererExtra.enabled = true;
                }
            }
            else
            {
                artefactCollider.enabled     = false;
                artefactCollider.enabled     = false;
                questionMarkRenderer.enabled = true;
            }

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