OpenSim.Region.ScriptEngine.Shared.Api.OSSL_Api.osCollisionSound C# (CSharp) Method

osCollisionSound() public method

public osCollisionSound ( string impact_sound, double impact_volume ) : void
impact_sound string
impact_volume double
return void
        public void osCollisionSound(string impact_sound, double impact_volume)
        {
            m_host.AddScriptLPS(1);

            if(impact_sound == "")
            {
                m_host.CollisionSoundVolume = (float)impact_volume;
                m_host.CollisionSound = m_host.invalidCollisionSoundUUID;
                if(impact_volume == 0.0)
                    m_host.CollisionSoundType = -1; // disable all sounds
                else if(impact_volume == 1.0f)
                    m_host.CollisionSoundType = 0; // full return to default sounds
                else
                    m_host.CollisionSoundType = 2; // default sounds with volume
                m_host.aggregateScriptEvents();           
                return;
            }
            // TODO: Parameter check logic required.
            UUID soundId = ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, impact_sound, AssetType.Sound);
            if(soundId != UUID.Zero)
            {
                m_host.CollisionSound = soundId;
                m_host.CollisionSoundVolume = (float)impact_volume;
                m_host.CollisionSoundType = 1;
            }
            else
                 m_host.CollisionSoundType = -1;

            m_host.aggregateScriptEvents();           
        }
OSSL_Api