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 ();
	}