diff --git a/OpenSim/Region/Environment/LandManagement/LandManager.cs b/OpenSim/Region/Environment/LandManagement/LandManager.cs index 5e243d14bf..72c449ba2d 100644 --- a/OpenSim/Region/Environment/LandManagement/LandManager.cs +++ b/OpenSim/Region/Environment/LandManagement/LandManager.cs @@ -100,7 +100,7 @@ namespace OpenSim.Region.Environment.LandManagement m_regInfo = reginfo; landIDList.Initialize(); scene.EventManager.OnAvatarEnteringNewParcel += new EventManager.AvatarEnteringNewParcel(handleAvatarChangingParcel); - + scene.EventManager.OnClientMovement += new EventManager.ClientMovement(this.handleAnyClientMovement); } @@ -660,6 +660,11 @@ namespace OpenSim.Region.Environment.LandManagement } } + public void handleAnyClientMovement(ScenePresence avatar) //Like handleSignificantClientMovement, but called with an AgentUpdate regardless of distance. + { + + } + public void handleParcelAccessRequest(LLUUID agentID, LLUUID sessionID, uint flags, int sequenceID, int landLocalID, IClientAPI remote_client) { diff --git a/OpenSim/Region/Environment/Scenes/SceneEvents.cs b/OpenSim/Region/Environment/Scenes/SceneEvents.cs index 694c548754..9c8c62ba0d 100644 --- a/OpenSim/Region/Environment/Scenes/SceneEvents.cs +++ b/OpenSim/Region/Environment/Scenes/SceneEvents.cs @@ -42,6 +42,10 @@ namespace OpenSim.Region.Environment.Scenes public event OnFrameDelegate OnFrame; + public delegate void ClientMovement(ScenePresence client); + + public event ClientMovement OnClientMovement; + public delegate void OnBackupDelegate(IRegionDataStore datastore); public event OnBackupDelegate OnBackup; @@ -110,6 +114,13 @@ namespace OpenSim.Region.Environment.Scenes public event AvatarEnteringNewParcel OnAvatarEnteringNewParcel; + + public void TriggerOnClientMovement(ScenePresence avatar) + { + if(OnClientMovement != null) + OnClientMovement(avatar); + } + public void TriggerPermissionError(LLUUID user, string reason) { if (OnPermissionError != null) diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 2f074d09bc..62abefc984 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs @@ -583,6 +583,7 @@ namespace OpenSim.Region.Environment.Scenes /// public void HandleAgentUpdate(IClientAPI remoteClient, AgentUpdatePacket agentData) { + //if (m_isChildAgent) //{ // // Console.WriteLine("DEBUG: HandleAgentUpdate: child agent"); @@ -689,6 +690,8 @@ namespace OpenSim.Region.Environment.Scenes UpdateMovementAnimations(update_movementflag); } } + + m_scene.EventManager.TriggerOnClientMovement(this); } ///