void Beat() { sC = FindObjectOfType <SpawnController>(); sC.Beat(); beatDebug = !beatDebug; if (queued != SongPart.none) { switch (queued) { case SongPart.titleLoop: ChangeClip(titleLoop); queued = SongPart.none; break; case SongPart.gameIntro: ChangeClip(gameIntro); Invoke("EndGameIntro", gameIntro.length); break; case SongPart.gameLoop: ChangeClip(gameLoop); queued = SongPart.none; break; case SongPart.slalomIntro: ChangeClip(slalomIntro); Invoke("EndSlalomIntro", slalomIntro.length); queued = SongPart.none; break; case SongPart.slalomLoop: ChangeClip(slalomLoop); queued = SongPart.none; break; case SongPart.slalomOutro: ChangeClip(slalomOutro); Invoke("EndSlalomOutro", slalomOutro.length); queued = SongPart.none; break; case SongPart.deathLoop: ChangeClip(deathLoop); queued = SongPart.none; break; } queued = SongPart.none; } else { Invoke("Beat", (currentClip.length >= 6f ? currentClip.length / 4 : (currentClip.length > 3f ? currentClip.length / 2 : currentClip.length))); } }