diff options
Very Preliminary border crossing added to sugilite. (Note: Sugilite doesn't have any backend ogs communication support yet so everything is Sandbox mode only )
Diffstat (limited to 'OpenSim/OpenSim.Region/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/OpenSim.Region/Scenes/Scene.cs | 34 |
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> |