From a56664cf5910876b8ab7ca175bdb88918ec15280 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Mon, 11 Feb 2008 01:43:54 +0000 Subject: * um, Prim crossings? Experimental. * Backup your database just in case. --- .../Environment/Scenes/SceneCommunicationService.cs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs') diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs index a89b52c..482701b 100644 --- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs @@ -49,6 +49,7 @@ namespace OpenSim.Region.Environment.Scenes public event AgentCrossing OnAvatarCrossingIntoRegion; public event ExpectUserDelegate OnExpectUser; + public event ExpectPrimDelegate OnExpectPrim; public event CloseAgentConnection OnCloseAgentConnection; public event PrimCrossing OnPrimCrossingIntoRegion; public event RegionUp OnRegionUp; @@ -82,10 +83,9 @@ namespace OpenSim.Region.Environment.Scenes //m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: registered with gridservice and got" + regionCommsHost.ToString()); regionCommsHost.debugRegionName = _debugRegionName; - + regionCommsHost.OnExpectPrim += IncomingPrimCrossing; regionCommsHost.OnExpectUser += NewUserConnection; regionCommsHost.OnAvatarCrossingIntoRegion += AgentCrossing; - regionCommsHost.OnPrimCrossingIntoRegion += PrimCrossing; regionCommsHost.OnCloseAgentConnection += CloseConnection; regionCommsHost.OnRegionUp += newRegionUp; regionCommsHost.OnChildAgentUpdate += ChildAgentUpdate; @@ -104,8 +104,8 @@ namespace OpenSim.Region.Environment.Scenes regionCommsHost.OnChildAgentUpdate -= ChildAgentUpdate; regionCommsHost.OnRegionUp -= newRegionUp; regionCommsHost.OnExpectUser -= NewUserConnection; + regionCommsHost.OnExpectPrim -= IncomingPrimCrossing; regionCommsHost.OnAvatarCrossingIntoRegion -= AgentCrossing; - regionCommsHost.OnPrimCrossingIntoRegion -= PrimCrossing; regionCommsHost.OnCloseAgentConnection -= CloseConnection; m_commsProvider.GridService.DeregisterRegion(m_regionInfo); regionCommsHost = null; @@ -156,6 +156,15 @@ namespace OpenSim.Region.Environment.Scenes } } + protected void IncomingPrimCrossing(ulong regionHandle, LLUUID primID, String objXMLData) + { + if (OnExpectPrim != null) + { + OnExpectPrim(regionHandle, primID, objXMLData); + } + + } + protected void PrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical) { if (OnPrimCrossingIntoRegion != null) @@ -535,9 +544,9 @@ namespace OpenSim.Region.Environment.Scenes return m_commsProvider.InterRegion.ExpectAvatarCrossing(regionhandle, agentID, position, isFlying); } - public bool PrimCrossToNeighboringRegion(ulong regionhandle, LLUUID primID, LLVector3 position, bool isPhysical) + public bool PrimCrossToNeighboringRegion(ulong regionhandle, LLUUID primID, string objData) { - return m_commsProvider.InterRegion.ExpectPrimCrossing(regionhandle, primID, position, isPhysical); + return m_commsProvider.InterRegion.InformRegionOfPrimCrossing(regionhandle, primID, objData); } -- cgit v1.1