diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | 19 |
1 files changed, 14 insertions, 5 deletions
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 | |||
49 | 49 | ||
50 | public event AgentCrossing OnAvatarCrossingIntoRegion; | 50 | public event AgentCrossing OnAvatarCrossingIntoRegion; |
51 | public event ExpectUserDelegate OnExpectUser; | 51 | public event ExpectUserDelegate OnExpectUser; |
52 | public event ExpectPrimDelegate OnExpectPrim; | ||
52 | public event CloseAgentConnection OnCloseAgentConnection; | 53 | public event CloseAgentConnection OnCloseAgentConnection; |
53 | public event PrimCrossing OnPrimCrossingIntoRegion; | 54 | public event PrimCrossing OnPrimCrossingIntoRegion; |
54 | public event RegionUp OnRegionUp; | 55 | public event RegionUp OnRegionUp; |
@@ -82,10 +83,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
82 | //m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: registered with gridservice and got" + regionCommsHost.ToString()); | 83 | //m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: registered with gridservice and got" + regionCommsHost.ToString()); |
83 | 84 | ||
84 | regionCommsHost.debugRegionName = _debugRegionName; | 85 | regionCommsHost.debugRegionName = _debugRegionName; |
85 | 86 | regionCommsHost.OnExpectPrim += IncomingPrimCrossing; | |
86 | regionCommsHost.OnExpectUser += NewUserConnection; | 87 | regionCommsHost.OnExpectUser += NewUserConnection; |
87 | regionCommsHost.OnAvatarCrossingIntoRegion += AgentCrossing; | 88 | regionCommsHost.OnAvatarCrossingIntoRegion += AgentCrossing; |
88 | regionCommsHost.OnPrimCrossingIntoRegion += PrimCrossing; | ||
89 | regionCommsHost.OnCloseAgentConnection += CloseConnection; | 89 | regionCommsHost.OnCloseAgentConnection += CloseConnection; |
90 | regionCommsHost.OnRegionUp += newRegionUp; | 90 | regionCommsHost.OnRegionUp += newRegionUp; |
91 | regionCommsHost.OnChildAgentUpdate += ChildAgentUpdate; | 91 | regionCommsHost.OnChildAgentUpdate += ChildAgentUpdate; |
@@ -104,8 +104,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
104 | regionCommsHost.OnChildAgentUpdate -= ChildAgentUpdate; | 104 | regionCommsHost.OnChildAgentUpdate -= ChildAgentUpdate; |
105 | regionCommsHost.OnRegionUp -= newRegionUp; | 105 | regionCommsHost.OnRegionUp -= newRegionUp; |
106 | regionCommsHost.OnExpectUser -= NewUserConnection; | 106 | regionCommsHost.OnExpectUser -= NewUserConnection; |
107 | regionCommsHost.OnExpectPrim -= IncomingPrimCrossing; | ||
107 | regionCommsHost.OnAvatarCrossingIntoRegion -= AgentCrossing; | 108 | regionCommsHost.OnAvatarCrossingIntoRegion -= AgentCrossing; |
108 | regionCommsHost.OnPrimCrossingIntoRegion -= PrimCrossing; | ||
109 | regionCommsHost.OnCloseAgentConnection -= CloseConnection; | 109 | regionCommsHost.OnCloseAgentConnection -= CloseConnection; |
110 | m_commsProvider.GridService.DeregisterRegion(m_regionInfo); | 110 | m_commsProvider.GridService.DeregisterRegion(m_regionInfo); |
111 | regionCommsHost = null; | 111 | regionCommsHost = null; |
@@ -156,6 +156,15 @@ namespace OpenSim.Region.Environment.Scenes | |||
156 | } | 156 | } |
157 | } | 157 | } |
158 | 158 | ||
159 | protected void IncomingPrimCrossing(ulong regionHandle, LLUUID primID, String objXMLData) | ||
160 | { | ||
161 | if (OnExpectPrim != null) | ||
162 | { | ||
163 | OnExpectPrim(regionHandle, primID, objXMLData); | ||
164 | } | ||
165 | |||
166 | } | ||
167 | |||
159 | protected void PrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical) | 168 | protected void PrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical) |
160 | { | 169 | { |
161 | if (OnPrimCrossingIntoRegion != null) | 170 | if (OnPrimCrossingIntoRegion != null) |
@@ -535,9 +544,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
535 | return m_commsProvider.InterRegion.ExpectAvatarCrossing(regionhandle, agentID, position, isFlying); | 544 | return m_commsProvider.InterRegion.ExpectAvatarCrossing(regionhandle, agentID, position, isFlying); |
536 | } | 545 | } |
537 | 546 | ||
538 | public bool PrimCrossToNeighboringRegion(ulong regionhandle, LLUUID primID, LLVector3 position, bool isPhysical) | 547 | public bool PrimCrossToNeighboringRegion(ulong regionhandle, LLUUID primID, string objData) |
539 | { | 548 | { |
540 | return m_commsProvider.InterRegion.ExpectPrimCrossing(regionhandle, primID, position, isPhysical); | 549 | return m_commsProvider.InterRegion.InformRegionOfPrimCrossing(regionhandle, primID, objData); |
541 | } | 550 | } |
542 | 551 | ||
543 | 552 | ||