예제 #1
0
        internal void UpdateAttenuation()
        {
            var gain = ALUtils.ClampVolume(ALUtils.DbToAlGain(attenuation) * man.GetVolume(SoundType.Sfx));

            gainSet         = true;
            dirtyFlags     |= FLAG_GAIN;
            properties.Gain = gain;
        }
예제 #2
0
 public void SetAttenuation(float attenuation)
 {
     if (Active)
     {
         Al.alSourcef(ID, Al.AL_GAIN, ALUtils.DbToAlGain(attenuation) * man.GetVolume(SoundType.Sfx));
     }
     Al.CheckErrors();
 }
예제 #3
0
 void UpdateGain()
 {
     sound.Gain = ALUtils.LinearToAlGain(_volume) * ALUtils.DbToAlGain(attenuation);
 }