diff options
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs | 39 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs | 6 |
2 files changed, 44 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs index fcdec5d..d3aa4aa 100644 --- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs | |||
@@ -311,6 +311,44 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
311 | { | 311 | { |
312 | remote_client.sendEstateCovenantInformation(); | 312 | remote_client.sendEstateCovenantInformation(); |
313 | } | 313 | } |
314 | private void HandleLandStatRequest(int parcelID, uint reportType, uint requestFlags, string filter, IClientAPI remoteClient) | ||
315 | { | ||
316 | Dictionary<uint, float> colliders = m_scene.PhysicsScene.GetTopColliders(); | ||
317 | |||
318 | List<LandStatReportItem> collidera = new List<LandStatReportItem>(); | ||
319 | lock (colliders) | ||
320 | { | ||
321 | foreach (uint obj in colliders.Keys) | ||
322 | { | ||
323 | SceneObjectPart prt = m_scene.GetSceneObjectPart(obj); | ||
324 | if (prt != null) | ||
325 | { | ||
326 | if (prt.ParentGroup != null) | ||
327 | { | ||
328 | SceneObjectGroup sog = prt.ParentGroup; | ||
329 | if (sog != null) | ||
330 | { | ||
331 | LandStatReportItem lsri = new LandStatReportItem(); | ||
332 | lsri.LocationX = sog.AbsolutePosition.X; | ||
333 | lsri.LocationY = sog.AbsolutePosition.Y; | ||
334 | lsri.LocationZ = sog.AbsolutePosition.Z; | ||
335 | lsri.Score = colliders[obj]; | ||
336 | lsri.TaskID = sog.UUID; | ||
337 | lsri.TaskLocalID = sog.LocalId; | ||
338 | lsri.TaskName = sog.GetPartName(obj); | ||
339 | lsri.OwnerName = m_scene.CommsManager.UUIDNameRequestString(sog.OwnerID); | ||
340 | |||
341 | |||
342 | collidera.Add(lsri); | ||
343 | } | ||
344 | } | ||
345 | } | ||
346 | |||
347 | } | ||
348 | } | ||
349 | remoteClient.SendLandStatReply(reportType, requestFlags, (uint)collidera.Count,collidera.ToArray()); | ||
350 | |||
351 | } | ||
314 | 352 | ||
315 | #endregion | 353 | #endregion |
316 | 354 | ||
@@ -435,6 +473,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
435 | 473 | ||
436 | client.OnRegionInfoRequest += HandleRegionInfoRequest; | 474 | client.OnRegionInfoRequest += HandleRegionInfoRequest; |
437 | client.OnEstateCovenantRequest += HandleEstateCovenantRequest; | 475 | client.OnEstateCovenantRequest += HandleEstateCovenantRequest; |
476 | client.OnLandStatRequest += HandleLandStatRequest; | ||
438 | sendRegionHandshake(client); | 477 | sendRegionHandshake(client); |
439 | } | 478 | } |
440 | } | 479 | } |
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs index cd5ca61..09069a9 100644 --- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs | |||
@@ -271,7 +271,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC | |||
271 | public event AgentSit OnUndo; | 271 | public event AgentSit OnUndo; |
272 | 272 | ||
273 | public event ForceReleaseControls OnForceReleaseControls; | 273 | public event ForceReleaseControls OnForceReleaseControls; |
274 | 274 | public event GodLandStatRequest OnLandStatRequest; | |
275 | public event RequestObjectPropertiesFamily OnObjectGroupRequest; | 275 | public event RequestObjectPropertiesFamily OnObjectGroupRequest; |
276 | 276 | ||
277 | public event DetailedEstateDataRequest OnDetailedEstateDataRequest; | 277 | public event DetailedEstateDataRequest OnDetailedEstateDataRequest; |
@@ -764,6 +764,10 @@ namespace OpenSim.Region.Environment.Modules.World.NPC | |||
764 | public void SendGroupNameReply(LLUUID groupLLUID, string GroupName) | 764 | public void SendGroupNameReply(LLUUID groupLLUID, string GroupName) |
765 | { | 765 | { |
766 | } | 766 | } |
767 | |||
768 | public void SendLandStatReply(uint reportType, uint requestFlags, uint resultCount, LandStatReportItem[] lsrpia) | ||
769 | { | ||
770 | } | ||
767 | #endregion | 771 | #endregion |
768 | } | 772 | } |
769 | } | 773 | } |