コード例 #1
0
 public static void prepareAudioSources(AudioMixerFacade audioMixer, AudioSource[] audioSources)
 {
     for (int i = 0; i < audioSources.Length; i++)
     {
         if (isAmbient(audioSources[i]))
         {
             audioSources[i].outputAudioMixerGroup = audioMixer.outsideGroup;
         }
         else if (isInVessel(audioSources[i]))
         {
             audioSources[i].outputAudioMixerGroup = audioMixer.inVesselGroup;
         }
     }
 }
コード例 #2
0
        public static AudioMixerFacade InitializeMixer(string path)
        {
            AudioMixerFacade instance = new AudioMixerFacade();

            if (audioMixer == null)
            {
                audioMixer = LoadBundle(path);
            }
            instance.MasterGroup   = audioMixer.FindMatchingGroups("Master") [0];
            instance.InVesselGroup = audioMixer.FindMatchingGroups("InVessel") [0];
            instance.OutsideGroup  = audioMixer.FindMatchingGroups("Outside") [0];
            instance.HelmetGroup   = audioMixer.FindMatchingGroups("Helmet") [0];
            return(instance);
        }
コード例 #3
0
 void Start()
 {
     config = AudioMufflerConfig.loadConfig();
     if (!config.EngageMuffler)
     {
         return;
     }
     GameEvents.onVesselChange.Add(VesselChange);
     GameEvents.onVesselWasModified.Add(VesselWasModified);
     AudioSource[] audioSources = FindObjectsOfType(typeof(AudioSource)) as AudioSource[];
     audioMixer = AudioMixerFacade
                  .InitializeMixer(KSP.IO.IOUtils.GetFilePathFor(typeof(Muffler), "mixer.bundle")
                                   .Replace("/", System.IO.Path.DirectorySeparatorChar.ToString()));
     StockAudio.PrepareAudioSources(audioMixer, audioSources);
     audioMixer.setInVesselCutoff(config.WallCutoff);
 }