diff options
author | Melanie Thielker | 2010-06-11 17:04:54 +0200 |
---|---|---|
committer | Melanie | 2010-06-11 17:03:45 +0100 |
commit | b64f42fa4142a71dffa2639769b9bf2d4584ec30 (patch) | |
tree | d5b40245e47900481de3eb65fffbe26fce648109 /OpenSim/Region/ScriptEngine/Shared/Api/Implementation | |
parent | Better friends notification: get rid of OnLogout and use OnClientClose for se... (diff) | |
download | opensim-SC_OLD-b64f42fa4142a71dffa2639769b9bf2d4584ec30.zip opensim-SC_OLD-b64f42fa4142a71dffa2639769b9bf2d4584ec30.tar.gz opensim-SC_OLD-b64f42fa4142a71dffa2639769b9bf2d4584ec30.tar.bz2 opensim-SC_OLD-b64f42fa4142a71dffa2639769b9bf2d4584ec30.tar.xz |
Clone cmGetAvatarList into osGetAvatarList for more generic use.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 27 |
1 files changed, 27 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 dde664e..cd6d3a3 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -2202,5 +2202,32 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2202 | 2202 | ||
2203 | m_LSL_Api.SetPrimitiveParamsEx(prim, rules); | 2203 | m_LSL_Api.SetPrimitiveParamsEx(prim, rules); |
2204 | } | 2204 | } |
2205 | |||
2206 | /// <summary> | ||
2207 | /// Like osGetAgents but returns enough info for a radar | ||
2208 | /// </summary> | ||
2209 | /// <returns>Strided list of the UUID, position and name of each avatar in the region</returns> | ||
2210 | public LSL_List osGetAvatarList() | ||
2211 | { | ||
2212 | CheckThreatLevel(ThreatLevel.None, "osGetAvatarList"); | ||
2213 | |||
2214 | LSL_List result = new LSL_List(); | ||
2215 | World.ForEachScenePresence(delegate (ScenePresence avatar) | ||
2216 | { | ||
2217 | if (avatar != null && avatar.UUID != m_host.OwnerID) | ||
2218 | { | ||
2219 | if (avatar.IsChildAgent == false) | ||
2220 | { | ||
2221 | if (avatar.PhysicsActor != null && avatar.PhysicsActor.Position != null) | ||
2222 | { | ||
2223 | result.Add(avatar.UUID); | ||
2224 | result.Add(avatar.PhysicsActor.Position); | ||
2225 | result.Add(avatar.Name); | ||
2226 | } | ||
2227 | } | ||
2228 | } | ||
2229 | }); | ||
2230 | return result; | ||
2231 | } | ||
2205 | } | 2232 | } |
2206 | } | 2233 | } |