diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/CM_Api.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/CM_Api.cs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/CM_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/CM_Api.cs index 880ca1b..07cba60 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/CM_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/CM_Api.cs | |||
@@ -113,6 +113,28 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
113 | } | 113 | } |
114 | 114 | ||
115 | /// <summary> | 115 | /// <summary> |
116 | /// Like osGetAgents but returns enough info for a radar | ||
117 | /// </summary> | ||
118 | /// <returns>Strided list of the UUID, position and name of each avatar in the region</returns> | ||
119 | public LSL_List cmGetAvatarList() | ||
120 | { | ||
121 | LSL_List result = new LSL_List(); | ||
122 | World.ForEachScenePresence(delegate (ScenePresence avatar) | ||
123 | { | ||
124 | if (avatar.UUID != m_host.OwnerID) | ||
125 | { | ||
126 | if (avatar.IsChildAgent == false) | ||
127 | { | ||
128 | result.Add(avatar.UUID); | ||
129 | result.Add(avatar.PhysicsActor.Position); | ||
130 | result.Add(avatar.Name); | ||
131 | } | ||
132 | } | ||
133 | }); | ||
134 | return result; | ||
135 | } | ||
136 | |||
137 | /// <summary> | ||
116 | /// Get the current Windlight scene | 138 | /// Get the current Windlight scene |
117 | /// </summary> | 139 | /// </summary> |
118 | /// <returns>List of windlight parameters</returns> | 140 | /// <returns>List of windlight parameters</returns> |