public void OnObjectSound(UUID objectID, UUID soundID, float gain) { if (!MaintainSounds) { return; } SimObject o = SimObjectFn(objectID); if (o == null) { return; } o.ConfirmedObject = true; if (soundID == UUID.Zero) { o.OnSound(UUID.Zero, gain); if (o.ShouldEventSource) { SendNewRegionEvent(SimEventType.EFFECT, "On-Attach-Sound-Gain-Change", o, gain); } } else { SimAsset sound = EnqueueRequestAsset(soundID, AssetType.Sound, true); o.OnSound(soundID, gain); if (o.ShouldEventSource) { SendNewRegionEvent(SimEventType.EFFECT, "On-Single-Sound-Gain-Change", o, sound, gain); } } // RegionMasterTexturePipeline.RequestAsset(soundID, AssetType.SoundWAV, true); }