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 | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 927f37c..1afa4fb 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -2250,10 +2250,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2250 | // on the ILSL_Api interface. | 2250 | // on the ILSL_Api interface. |
2251 | LSL_Api LSL_Api = (LSL_Api)m_LSL_Api; | 2251 | LSL_Api LSL_Api = (LSL_Api)m_LSL_Api; |
2252 | LSL_List retVal = new LSL_List(); | 2252 | LSL_List retVal = new LSL_List(); |
2253 | LSL_List remaining = null; | ||
2253 | List<SceneObjectPart> parts = LSL_Api.GetLinkParts(linknumber); | 2254 | List<SceneObjectPart> parts = LSL_Api.GetLinkParts(linknumber); |
2254 | foreach (SceneObjectPart part in parts) | 2255 | foreach (SceneObjectPart part in parts) |
2255 | { | 2256 | { |
2256 | LSL_Api.GetPrimParams(part, rules, ref retVal); | 2257 | remaining = LSL_Api.GetPrimParams(part, rules, ref retVal); |
2258 | } | ||
2259 | |||
2260 | while (remaining != null && remaining.Length > 2) | ||
2261 | { | ||
2262 | linknumber = remaining.GetLSLIntegerItem(0); | ||
2263 | rules = remaining.GetSublist(1, -1); | ||
2264 | parts = LSL_Api.GetLinkParts(linknumber); | ||
2265 | |||
2266 | foreach (SceneObjectPart part in parts) | ||
2267 | remaining = LSL_Api.GetPrimParams(part, rules, ref retVal); | ||
2257 | } | 2268 | } |
2258 | return retVal; | 2269 | return retVal; |
2259 | } | 2270 | } |