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); }
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); } } } } }