static IEnumerable LeaderboardCoroutine(Pool pool, Entity e, float startTime) { var audioSource = GameObject.Find("MusicSource").GetComponent<AudioSource>(); for (int i = 3; i >= 0; --i) { audioSource.volume = 0.25f * (i / 3.0f); yield return WaitMs(e, 200); } audioSource.Stop(); if(pool.hasLowestScoreLeaderboard && pool.lowestScoreLeaderboard.value <= pool.score.value) { audioSource.clip = (AudioClip)Resources.Load("Music/GameOverHighScore"); } else { audioSource.clip = (AudioClip)Resources.Load("Music/GameOver"); } audioSource.volume = 0.25f; audioSource.loop = false; audioSource.Play(); yield return WaitMs(e, 1200); e.AddLeaderboard(""); e.AddResource("Leaderboard"); }