static bool Prefix(ReplayAudioEventPlayer __instance, float time, float timeScale)
 {
     //Logger.Log("Started prefix replayaudioeventplayer");
     // only if they are still missing
     if (!slow_done || !fast_done)
     {
         var audioSource = Traverse.Create(__instance).Field("m_AudioSource").GetValue <AudioSource>();
         if (audioSource.name == "Wheel_Rolling_Loop_Low_Source" && !slow_done)
         {
             Logger.Log("Replacing low");
             slow_done = true;
             audioSource.Stop();
             audioSource.clip = DeckSounds.Instance.rollingSoundSlow;
             audioSource.Play();
             Logger.Log("Replaced low");
         }
         if (audioSource.name == "Wheel_Rolling_Loops_High_Source" && !fast_done)
         {
             Logger.Log("Replacing high");
             fast_done = true;
             audioSource.Stop();
             audioSource.clip = DeckSounds.Instance.rollingSoundFast;
             audioSource.Play();
             Logger.Log("Replaced high");
         }
     }
     return(true);
 }
Exemple #2
0
        public void AddSoundsToPlayers(ReplayPlaybackController replayController, Dictionary <string, ReplayAudioEventPlayer> replayEventPlayerForName)
        {
            for (int i = 0; i < MultiplayerUtils.audioPlayerNames.Count; i++)
            {
                ReplayAudioEventPlayer audioPlayer = null;
                if (replayEventPlayerForName.TryGetValue(MultiplayerUtils.audioPlayerNames[i], out audioPlayer))
                {
                    if (audioPlayer != null)
                    {
                        List <AudioOneShotEvent> currentOneShotEventList = audioOneShots[i];
                        List <AudioClipEvent>    currentClipEventList    = audioClipEvents[i];
                        List <AudioVolumeEvent>  currentVolumeEventList  = audioVolumeEvents[i];
                        List <AudioPitchEvent>   currentPitchEventList   = audioPitchEvents[i];
                        List <AudioCutoffEvent>  currentCutoffEventList  = audioCutoffEvents[i];

                        if (currentOneShotEventList != null && currentOneShotEventList.Count > 0 && replayController.AudioEventPlayers[i].oneShotEvents == null)
                        {
                            replayController.AudioEventPlayers[i].LoadOneShotEvents(currentOneShotEventList);
                        }
                        else if (currentOneShotEventList != null && currentOneShotEventList.Count > 0)
                        {
                            replayController.AudioEventPlayers[i].oneShotEvents.AddRange(currentOneShotEventList);
                        }

                        if (currentClipEventList != null && currentClipEventList.Count > 0 && replayController.AudioEventPlayers[i].clipEvents == null)
                        {
                            replayController.AudioEventPlayers[i].LoadClipEvents(currentClipEventList);
                        }
                        else if (currentClipEventList != null && currentClipEventList.Count > 0)
                        {
                            replayController.AudioEventPlayers[i].clipEvents.AddRange(currentClipEventList);
                        }

                        if (currentVolumeEventList != null && currentVolumeEventList.Count > 0 && replayController.AudioEventPlayers[i].volumeEvents == null)
                        {
                            replayController.AudioEventPlayers[i].LoadVolumeEvents(currentVolumeEventList);
                        }
                        else if (currentVolumeEventList != null && currentVolumeEventList.Count > 0)
                        {
                            replayController.AudioEventPlayers[i].volumeEvents.AddRange(currentVolumeEventList);
                        }

                        if (currentPitchEventList != null && currentPitchEventList.Count > 0 && replayController.AudioEventPlayers[i].pitchEvents == null)
                        {
                            replayController.AudioEventPlayers[i].LoadPitchEvents(currentPitchEventList);
                        }
                        else if (currentPitchEventList != null && currentPitchEventList.Count > 0)
                        {
                            replayController.AudioEventPlayers[i].pitchEvents.AddRange(currentPitchEventList);
                        }

                        if (currentCutoffEventList != null && currentCutoffEventList.Count > 0 && replayController.AudioEventPlayers[i].cutoffEvents == null)
                        {
                            replayController.AudioEventPlayers[i].LoadCutoffEvents(currentCutoffEventList);
                        }
                        else if (currentCutoffEventList != null && currentCutoffEventList.Count > 0)
                        {
                            replayController.AudioEventPlayers[i].cutoffEvents.AddRange(currentCutoffEventList);
                        }
                    }
                }
            }
        }