void EnablePlayer() { TogglePlayerMovement (true, true, true); currentInteractivePoint.gameObject.SetActive (false); currentInteractivePoint = null; playerEnabled = true; StartCoroutine (DelayedCallback (audioLoopDelay, EnableNewSong)); }
// Update is called once per frame void Update () { RaycastHit lineHit; closeToTarget = false; if (Physics.Raycast (transform.position + new Vector3 (0, transform.localScale.y * 0.7f, 0), transform.TransformDirection (Vector3.forward), out lineHit, distanceToInteract)) { Debug.DrawLine (transform.position, lineHit.point, Color.cyan); if (lineHit.collider.tag == "InteractiveAudioPoint") { InteractivePoint interactivePoint = lineHit.collider.GetComponent<InteractivePoint> (); if (interactivePoint.enabled && playerEnabled) { closeToTarget = true; if (Input.GetKeyDown (KeyCode.Space) || Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.Return) || Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(1)) { DisablePlayer(); interactivePoint.StopPoint (); currentInteractivePoint = interactivePoint; PlayAudioClip (interactivePoint.audioClip); StartCoroutine (DelayedCallback (interactivePoint.audioClip.length, EnablePlayer)); } } } } PlayRandomAudioClip (); }