From a596b7696a0d880cd322fcad864fc92b85a6a3b7 Mon Sep 17 00:00:00 2001 From: mingchen Date: Thu, 20 Dec 2007 02:36:27 +0000 Subject: *Made a much more network friendly method of ban and pass line sending *Added an event that is triggered when an agent enters a new parcel --- OpenSim/Region/Environment/Scenes/SceneEvents.cs | 42 ++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'OpenSim/Region/Environment/Scenes/SceneEvents.cs') diff --git a/OpenSim/Region/Environment/Scenes/SceneEvents.cs b/OpenSim/Region/Environment/Scenes/SceneEvents.cs index e058745..694c548 100644 --- a/OpenSim/Region/Environment/Scenes/SceneEvents.cs +++ b/OpenSim/Region/Environment/Scenes/SceneEvents.cs @@ -29,6 +29,7 @@ using libsecondlife; using OpenSim.Framework; using OpenSim.Region.Environment.Interfaces; +using OpenSim.Region.Environment.LandManagement; namespace OpenSim.Region.Environment.Scenes { @@ -78,6 +79,7 @@ namespace OpenSim.Region.Environment.Scenes public delegate void OnPermissionErrorDelegate(LLUUID user, string reason); public event ObjectGrabDelegate OnObjectGrab; + public event OnPermissionErrorDelegate OnPermissionError; public delegate void NewRezScript(uint localID, LLUUID itemID, string script); @@ -96,6 +98,18 @@ namespace OpenSim.Region.Environment.Scenes public event SceneGroupGrabed OnSceneGroupGrab; + public delegate void LandObjectAdded(Land newParcel, LLUUID regionUUID); + + public event LandObjectAdded OnLandObjectAdded; + + public delegate void LandObjectRemoved(LLUUID globalID); + + public event LandObjectRemoved OnLandObjectRemoved; + + public delegate void AvatarEnteringNewParcel(ScenePresence avatar, int localLandID, LLUUID regionID); + + public event AvatarEnteringNewParcel OnAvatarEnteringNewParcel; + public void TriggerPermissionError(LLUUID user, string reason) { if (OnPermissionError != null) @@ -210,5 +224,33 @@ namespace OpenSim.Region.Environment.Scenes OnSceneGroupGrab(groupID, offset, userID); } } + + public void TriggerLandObjectAdded(Land newParcel,LLUUID regionID) + { + if (OnLandObjectAdded != null) + { + OnLandObjectAdded(newParcel, regionID); + } + } + public void TriggerLandObjectRemoved(LLUUID globalID) + { + if (OnLandObjectRemoved != null) + { + OnLandObjectRemoved(globalID); + } + } + public void TriggerLandObjectUpdated(uint localParcelID, Land newParcel) + { + //triggerLandObjectRemoved(localParcelID); + TriggerLandObjectAdded(newParcel,newParcel.m_scene.RegionInfo.RegionID); + } + + public void TriggerAvatarEnteringNewParcel(ScenePresence avatar, int localLandID, LLUUID regionID) + { + if (OnAvatarEnteringNewParcel != null) + { + OnAvatarEnteringNewParcel(avatar, localLandID, regionID); + } + } } } \ No newline at end of file -- cgit v1.1