示例#1
0
    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);
        }
    }
示例#2
0
 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;
     }
 }