Example #1
0
        private void OnTrackingFound()
        {
            Renderer[] rendererComponents = GetComponentsInChildren <Renderer>(true);
            Collider[] colliderComponents = GetComponentsInChildren <Collider>(true);

            // Enable rendering:
            foreach (Renderer component in rendererComponents)
            {
                component.enabled = true;
            }

            // Enable colliders:
            foreach (Collider component in colliderComponents)
            {
                component.enabled = true;
            }


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


            if (!objectFound)// se ha trovato l'oggetto deve aspettare la transizione nello stato successivo
            {
                Debug.Log("Sto ricercando il pezzo dello stato " + State_Machine.getSubStateNumber());
                switch (State_Machine.getSubStateNumber())
                {
                case 0:   //Ricerca dell'obiettivo corrente
                    if (mTrackableBehaviour.name.Equals(State_Machine.getPhaseList()[State_Machine.getPhaseNumber()].getCurrTarget().name))
                    {     //controllo se ho trovato il target corrente della fase
                        State_Machine.setCurrentTargetFlag(true);
                        objectFound = true;
                        State_Machine.nextState();
                    }

                    break;

                case 1:                                                                                                                     //Ricerca dell'obiettivo finale
                    if (mTrackableBehaviour.name.Equals(State_Machine.getPhaseList()[State_Machine.getPhaseNumber()].getNextTarget().name)) //controllo se lo ho trovato il target finale della fase
                    {
                        State_Machine.setNextTargetFlag(true);
                        objectFound = true;
                        State_Machine.nextState();
                    }
                    if (mTrackableBehaviour.name.Equals(State_Machine.getPhaseList()[State_Machine.getPhaseNumber()].getSingleObject().name))     //controllo se lo ho trovato l'oggetto singolo della fase
                    {
                        State_Machine.setSingleObjectFlag(true);
                    }
                    break;

                default:     //default
                    break;
                }
            }
        }
Example #2
0
    // Update is called once per frame
    void Update()
    {
        if (playAnim)
        {
            //gli oggetti sono stati inseriti in ordine inverso
            switch (State_Machine.getPhaseNumber())
            {
            case 0:    //Cone and metal ring animations

                if (!gameobjs[4].activeSelf)
                {
                    gameobjs[4].SetActive(true);
                    gameobjs[3].SetActive(true);
                }
                anim.Play("pezzo4-5", -1, 0f);

                break;

            case 1:    //Grinding tool animation
                if (!gameobjs[2].activeSelf)
                {
                    gameobjs[2].SetActive(true);
                }
                anim.Play("pezzo3", -1, 0f);

                break;

            case 3:    //Flange and screw animations
                if (!gameobjs[1].activeSelf)
                {
                    gameobjs[1].SetActive(true);
                    gameobjs[0].SetActive(true);
                }
                anim.Play("pezzo1-2", -1, 0f);
                // Debug.Log(gameobjs[1].name);
                //.Play("pezzo1", -1, 0f);
                // Debug.Log(gameobjs[0].name);
                break;
            }
            playAnim = false;
        }
        else
        {
            //anim.Play("idle", -1, 0f);
        }
    }