diff options
Diffstat (limited to 'OpenSim/Region/Environment/LandManagement')
-rw-r--r-- | OpenSim/Region/Environment/LandManagement/Land.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Environment/LandManagement/LandManager.cs | 17 |
2 files changed, 18 insertions, 6 deletions
diff --git a/OpenSim/Region/Environment/LandManagement/Land.cs b/OpenSim/Region/Environment/LandManagement/Land.cs index e9837c0..bf35b57 100644 --- a/OpenSim/Region/Environment/LandManagement/Land.cs +++ b/OpenSim/Region/Environment/LandManagement/Land.cs | |||
@@ -220,6 +220,11 @@ namespace OpenSim.Region.Environment.LandManagement | |||
220 | } | 220 | } |
221 | } | 221 | } |
222 | 222 | ||
223 | public void sendLandUpdateToClient(IClientAPI remote_client) | ||
224 | { | ||
225 | sendLandProperties(0, false, 0, remote_client); | ||
226 | } | ||
227 | |||
223 | public void sendLandUpdateToAvatarsOverMe() | 228 | public void sendLandUpdateToAvatarsOverMe() |
224 | { | 229 | { |
225 | List<ScenePresence> avatars = m_scene.GetAvatars(); | 230 | List<ScenePresence> avatars = m_scene.GetAvatars(); |
@@ -230,7 +235,7 @@ namespace OpenSim.Region.Environment.LandManagement | |||
230 | (int) Math.Round(avatars[i].AbsolutePosition.Y)); | 235 | (int) Math.Round(avatars[i].AbsolutePosition.Y)); |
231 | if (over.landData.localID == landData.localID) | 236 | if (over.landData.localID == landData.localID) |
232 | { | 237 | { |
233 | sendLandProperties(0, false, 0, avatars[i].ControllingClient); | 238 | sendLandUpdateToClient(avatars[i].ControllingClient); |
234 | } | 239 | } |
235 | } | 240 | } |
236 | } | 241 | } |
diff --git a/OpenSim/Region/Environment/LandManagement/LandManager.cs b/OpenSim/Region/Environment/LandManagement/LandManager.cs index 785aafa..a1cfa8a 100644 --- a/OpenSim/Region/Environment/LandManagement/LandManager.cs +++ b/OpenSim/Region/Environment/LandManagement/LandManager.cs | |||
@@ -533,17 +533,24 @@ namespace OpenSim.Region.Environment.LandManagement | |||
533 | addLandObject(fullSimParcel); | 533 | addLandObject(fullSimParcel); |
534 | } | 534 | } |
535 | 535 | ||
536 | public void sendLandUpdate(ScenePresence avatar) | ||
537 | { | ||
538 | Land over = getLandObject((int) Math.Round(avatar.AbsolutePosition.X), | ||
539 | (int) Math.Round(avatar.AbsolutePosition.Y)); | ||
540 | |||
541 | if (over != null) | ||
542 | { | ||
543 | over.sendLandUpdateToClient(avatar.ControllingClient); | ||
544 | } | ||
545 | } | ||
536 | 546 | ||
537 | public void handleSignificantClientMovement(IClientAPI remote_client) | 547 | public void handleSignificantClientMovement(IClientAPI remote_client) |
538 | { | 548 | { |
539 | ScenePresence clientAvatar = m_scene.GetScenePresence(remote_client.AgentId); | 549 | ScenePresence clientAvatar = m_scene.GetScenePresence(remote_client.AgentId); |
550 | |||
540 | if (clientAvatar != null) | 551 | if (clientAvatar != null) |
541 | { | 552 | { |
542 | Land over = getLandObject(clientAvatar.AbsolutePosition.X, clientAvatar.AbsolutePosition.Y); | 553 | sendLandUpdate(clientAvatar); |
543 | if (over != null) | ||
544 | { | ||
545 | over.sendLandProperties(0, false, 0, remote_client); | ||
546 | } | ||
547 | } | 554 | } |
548 | } | 555 | } |
549 | 556 | ||