IEnumerator StopMixerRotation() { yield return(new WaitForSeconds(audioClips[4].length)); if (mixerInstructor != null) { mixerInstructor.GetComponent <MeshRenderer>().material = bButton; } state = mixerState.idle; }
/* 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); } } } }
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; } }