aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs19
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