public AudioClip bgmForLocation(PlayerStateManager.ShipLocations location) { switch (location) { case PlayerStateManager.ShipLocations.Cafeteria: return(clips[0]); case PlayerStateManager.ShipLocations.Garden: return(clips[1]); case PlayerStateManager.ShipLocations.Bridge: return(clips[2]); case PlayerStateManager.ShipLocations.Corridors: return(clips[3]); case PlayerStateManager.ShipLocations.Library: return(clips[4]); case PlayerStateManager.ShipLocations.Medical: return(clips[5]); case PlayerStateManager.ShipLocations.Barracks: return(clips[6]); case PlayerStateManager.ShipLocations.Cryochamber: return(clips[7]); default: return(null); } }
void FixedUpdate() { if (PlayerStateManager.instance.currentLocation != lastPlayedBgmForLocation) { source2.clip = bgmForLocation(PlayerStateManager.instance.currentLocation); source2.volume = 0; source2.Play(); source2.loop = true; StartCoroutine(Crossfade(source1, source2, 2.5f)); var sourceTemp = source2; source2 = source1; source1 = sourceTemp; lastPlayedBgmForLocation = PlayerStateManager.instance.currentLocation; } }