aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/OpenSim.Region/Scenes/Scene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/OpenSim.Region/Scenes/Scene.cs')
-rw-r--r--OpenSim/OpenSim.Region/Scenes/Scene.cs34
1 files changed, 34 insertions, 0 deletions
diff --git a/OpenSim/OpenSim.Region/Scenes/Scene.cs b/OpenSim/OpenSim.Region/Scenes/Scene.cs
index 98f5027..2500ee6 100644
--- a/OpenSim/OpenSim.Region/Scenes/Scene.cs
+++ b/OpenSim/OpenSim.Region/Scenes/Scene.cs
@@ -580,6 +580,7 @@ namespace OpenSim.Region.Scenes
580 agent.BaseFolder = LLUUID.Zero; 580 agent.BaseFolder = LLUUID.Zero;
581 agent.InventoryFolder = LLUUID.Zero; 581 agent.InventoryFolder = LLUUID.Zero;
582 agent.startpos = new LLVector3(128, 128, 70); 582 agent.startpos = new LLVector3(128, 128, 70);
583 agent.child = true;
583 this.commsManager.InterSims.InformNeighbourOfChildAgent(neighbours[i].RegionHandle, agent); 584 this.commsManager.InterSims.InformNeighbourOfChildAgent(neighbours[i].RegionHandle, agent);
584 remoteClient.InformClientOfNeighbour(neighbours[i].RegionHandle, System.Net.IPAddress.Parse(neighbours[i].IPListenAddr), (ushort)neighbours[i].IPListenPort); 585 remoteClient.InformClientOfNeighbour(neighbours[i].RegionHandle, System.Net.IPAddress.Parse(neighbours[i].IPListenAddr), (ushort)neighbours[i].IPListenPort);
585 } 586 }
@@ -589,6 +590,27 @@ namespace OpenSim.Region.Scenes
589 /// <summary> 590 /// <summary>
590 /// 591 ///
591 /// </summary> 592 /// </summary>
593 /// <param name="regionHandle"></param>
594 /// <returns></returns>
595 public RegionInfo RequestNeighbouringRegionInfo(ulong regionHandle)
596 {
597 return this.commsManager.GridServer.RequestNeighbourInfo(regionHandle);
598 }
599
600 /// <summary>
601 ///
602 /// </summary>
603 /// <param name="regionhandle"></param>
604 /// <param name="agentID"></param>
605 /// <param name="position"></param>
606 public void InformNeighbourOfCrossing(ulong regionhandle, LLUUID agentID, LLVector3 position)
607 {
608 this.commsManager.InterSims.ExpectAvatarCrossing(regionhandle, agentID, position);
609 }
610
611 /// <summary>
612 ///
613 /// </summary>
592 /// <param name="agentID"></param> 614 /// <param name="agentID"></param>
593 public override void RemoveAvatar(LLUUID agentID) 615 public override void RemoveAvatar(LLUUID agentID)
594 { 616 {
@@ -678,6 +700,7 @@ namespace OpenSim.Region.Scenes
678 if (this.regionCommsHost != null) 700 if (this.regionCommsHost != null)
679 { 701 {
680 this.regionCommsHost.OnExpectUser += new ExpectUserDelegate(this.NewUserConnection); 702 this.regionCommsHost.OnExpectUser += new ExpectUserDelegate(this.NewUserConnection);
703 this.regionCommsHost.OnAvatarCrossingIntoRegion += new AgentCrossing(this.AgentCrossing);
681 } 704 }
682 } 705 }
683 706
@@ -696,6 +719,17 @@ namespace OpenSim.Region.Scenes
696 } 719 }
697 } 720 }
698 721
722 public void AgentCrossing(ulong regionHandle, libsecondlife.LLUUID agentID, libsecondlife.LLVector3 position)
723 {
724 if (regionHandle == this.m_regInfo.RegionHandle)
725 {
726 if (this.Avatars.ContainsKey(agentID))
727 {
728 this.Avatars[agentID].Pos = position;
729 }
730 }
731 }
732
699 #endregion 733 #endregion
700 734
701 /// <summary> 735 /// <summary>