diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index e525a2e..32405d7 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -45,6 +45,7 @@ using OpenSim.Framework; | |||
45 | using OpenSim.Framework.Console; | 45 | using OpenSim.Framework.Console; |
46 | using OpenSim.Region.Framework.Interfaces; | 46 | using OpenSim.Region.Framework.Interfaces; |
47 | using OpenSim.Region.Framework.Scenes; | 47 | using OpenSim.Region.Framework.Scenes; |
48 | using OpenSim.Region.Framework.Scenes.Scripting; | ||
48 | using OpenSim.Region.ScriptEngine.Shared; | 49 | using OpenSim.Region.ScriptEngine.Shared; |
49 | using OpenSim.Region.ScriptEngine.Shared.Api.Plugins; | 50 | using OpenSim.Region.ScriptEngine.Shared.Api.Plugins; |
50 | using OpenSim.Region.ScriptEngine.Shared.ScriptBase; | 51 | using OpenSim.Region.ScriptEngine.Shared.ScriptBase; |
@@ -4250,5 +4251,33 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4250 | return m_UrlModule.RequestSecureURL(m_ScriptEngine.ScriptModule, m_host, m_item.ItemID, opts).ToString(); | 4251 | return m_UrlModule.RequestSecureURL(m_ScriptEngine.ScriptModule, m_host, m_item.ItemID, opts).ToString(); |
4251 | return UUID.Zero.ToString(); | 4252 | return UUID.Zero.ToString(); |
4252 | } | 4253 | } |
4254 | |||
4255 | public void osCollisionSound(string impact_sound, double impact_volume) | ||
4256 | { | ||
4257 | m_host.AddScriptLPS(1); | ||
4258 | |||
4259 | if(impact_sound == "") | ||
4260 | { | ||
4261 | m_host.CollisionSoundVolume = (float)impact_volume; | ||
4262 | m_host.CollisionSound = m_host.invalidCollisionSoundUUID; | ||
4263 | if(impact_volume == 0.0) | ||
4264 | m_host.CollisionSoundType = -1; // disable all sounds | ||
4265 | else if(impact_volume == 1.0f) | ||
4266 | m_host.CollisionSoundType = 0; // full return to default sounds | ||
4267 | else | ||
4268 | m_host.CollisionSoundType = 2; // default sounds with volume | ||
4269 | return; | ||
4270 | } | ||
4271 | // TODO: Parameter check logic required. | ||
4272 | UUID soundId = ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, impact_sound, AssetType.Sound); | ||
4273 | if(soundId != UUID.Zero) | ||
4274 | { | ||
4275 | m_host.CollisionSound = soundId; | ||
4276 | m_host.CollisionSoundVolume = (float)impact_volume; | ||
4277 | m_host.CollisionSoundType = 1; | ||
4278 | } | ||
4279 | else | ||
4280 | m_host.CollisionSoundType = -1; | ||
4281 | } | ||
4253 | } | 4282 | } |
4254 | } | 4283 | } |