Ejemplo n.º 1
0
    IEnumerator StopMixerRotation()
    {
        yield return(new WaitForSeconds(audioClips[4].length));

        if (mixerInstructor != null)
        {
            mixerInstructor.GetComponent <MeshRenderer>().material = bButton;
        }
        state = mixerState.idle;
    }
Ejemplo n.º 2
0
    /* IEnumerator MakeEven(Collider other) {
     *      yield return new WaitForSeconds(0.5f);
     *      other.gameObject.GetComponent<Rigidbody>().isKinematic = false;
     * } */

    private void OnTriggerStay(Collider other)
    {
        //enable mixer operations only when guest hand stays in it
        if (other.gameObject.name.Equals("Right Hand"))
        {
            if (Input.GetKeyDown(KeyCode.F) || OVRInput.GetDown(OVRInput.Button.One))
            {
                Debug.Log(mixerReady + " " + ingredientReady);
                if (mixerReady == true && ingredientReady == true)
                {
                    //ADD MIXER BUTTON ANIMATION
                    gameObject.transform.GetChild(0).GetComponent <Animator>().SetTrigger("PushButton");
                    state = mixerState.Mixing;
                    //if (ingredientReady == true && state == mixerState.Mixing){
                    if (!audioSource.isPlaying)
                    {
                        mixed = true;
                        state = mixerState.Mixing;
                        audioSource.PlayOneShot(audioClips[4]);
                        if (!directorPlayed[5])
                        {
                            StartCoroutine(cameraChanger.DigitalGlitch(0.5f, 0.3f));
                        }
                        StartCoroutine(StopMixerRotation());
                    }
                }
            }
            if (Input.GetKeyDown(KeyCode.V) || OVRInput.GetDown(OVRInput.Button.Two))
            {
                Debug.Log("Pressed V");
                if (!directorPlayed[5] && playableDirectors[3].state == PlayState.Playing && !audioSource.isPlaying && mixed)
                {
                    gameObject.transform.GetChild(0).GetComponent <Animator>().SetTrigger("PushButton");
                    state = mixerState.Rising;
                    playableDirectors[3].Stop();
                    //playableDirectors[4].Stop();
                    playableDirectors[5].Play();
                    directorPlayed[5] = true;
                    mixerInstructor.SetActive(false);
                }
            }
        }
    }
Ejemplo n.º 3
0
    private void MixerMovement()
    {
        switch (state)
        {
        case mixerState.idle:
            //idle
            break;

        case mixerState.Rising:
            gameObject.transform.GetChild(3).transform.localPosition += mixerRiseSpeed;

            Vector3 target = gameObject.transform.GetChild(3).transform.localPosition;
            if (0.38 - target.y < 0.01 && 0.45 - target.y >= 0)
            {
                Debug.Log("Rise:" + (0.45 - target.y).ToString());
                //state = mixerState.idle;
                state = mixerState.idle;
                //mixerReady = false;
            }
            break;

        case mixerState.Low:
            gameObject.transform.GetChild(3).transform.localPosition -= mixerRiseSpeed;
            Debug.Log(gameObject.transform.GetChild(3).name);
            Vector3 temp = gameObject.transform.GetChild(3).transform.localPosition;
            if (temp.y - 0.21 < 0.01 && temp.y - 0.21 >= 0)
            {
                //state = mixerState.idle;
                state = mixerState.Mixing;

                mixerReady      = true;
                ingredientReady = true;
            }
            break;

        case mixerState.Mixing:
            gameObject.transform.GetChild(3).transform.RotateAround(gameObject.transform.GetChild(3).transform.position, gameObject.transform.GetChild(3).transform.up, mixerRotateSpeed);
            break;
        }
    }