aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/Scene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/Scene.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs20
1 files changed, 17 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 8262478..d436bb3 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -816,6 +816,7 @@ namespace OpenSim.Region.Environment.Scenes
816 m_sceneGridService.RegisterRegion(m_regInfo); 816 m_sceneGridService.RegisterRegion(m_regInfo);
817 m_sceneGridService.OnExpectUser += NewUserConnection; 817 m_sceneGridService.OnExpectUser += NewUserConnection;
818 m_sceneGridService.OnAvatarCrossingIntoRegion += AgentCrossing; 818 m_sceneGridService.OnAvatarCrossingIntoRegion += AgentCrossing;
819 m_sceneGridService.OnCloseAgentConnection += CloseConnection;
819 } 820 }
820 821
821 /// <summary> 822 /// <summary>
@@ -864,13 +865,26 @@ namespace OpenSim.Region.Environment.Scenes
864 } 865 }
865 } 866 }
866 867
868 public void CloseConnection(ulong regionHandle, LLUUID agentID)
869 {
870 if (regionHandle == m_regionHandle)
871 {
872 ScenePresence presence = m_innerScene.GetScenePresence(agentID);
873 if(presence != null)
874 {
875 libsecondlife.Packets.DisableSimulatorPacket disable = new libsecondlife.Packets.DisableSimulatorPacket();
876 presence.ControllingClient.OutPacket(disable);
877 }
878 }
879 }
880
867 881
868 /// <summary> 882 /// <summary>
869 /// 883 ///
870 /// </summary> 884 /// </summary>
871 public void InformClientOfNeighbours(ScenePresence presence) 885 public void InformClientOfNeighbours(ScenePresence presence)
872 { 886 {
873 m_sceneGridService.InformClientOfNeighbours(presence); 887 m_sceneGridService.EnableNeighbourChildAgents(presence);
874 } 888 }
875 889
876 /// <summary> 890 /// <summary>
@@ -908,7 +922,7 @@ namespace OpenSim.Region.Environment.Scenes
908 { 922 {
909 if (m_scenePresences.ContainsKey(remoteClient.AgentId)) 923 if (m_scenePresences.ContainsKey(remoteClient.AgentId))
910 { 924 {
911 m_sceneGridService.RequestTeleportLocation(m_scenePresences[remoteClient.AgentId], regionHandle, position, lookAt, flags); 925 m_sceneGridService.RequestTeleportToLocation(m_scenePresences[remoteClient.AgentId], regionHandle, position, lookAt, flags);
912 } 926 }
913 } 927 }
914 928
@@ -920,7 +934,7 @@ namespace OpenSim.Region.Environment.Scenes
920 /// <param name="position"></param> 934 /// <param name="position"></param>
921 public bool InformNeighbourOfCrossing(ulong regionhandle, LLUUID agentID, LLVector3 position, bool isFlying) 935 public bool InformNeighbourOfCrossing(ulong regionhandle, LLUUID agentID, LLVector3 position, bool isFlying)
922 { 936 {
923 return m_sceneGridService.InformNeighbourOfCrossing(regionhandle, agentID, position, isFlying); 937 return m_sceneGridService.CrossToNeighbouringRegion(regionhandle, agentID, position, isFlying);
924 } 938 }
925 939
926 #endregion 940 #endregion