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 'Common')
9 files changed, 69 insertions, 3 deletions
diff --git a/Common/OpenGrid.Framework.Communications/GridServer/GridCommsManagerBase.cs b/Common/OpenGrid.Framework.Communications/GridServer/GridCommsManagerBase.cs index 0b29f8a..357321d 100644 --- a/Common/OpenGrid.Framework.Communications/GridServer/GridCommsManagerBase.cs +++ b/Common/OpenGrid.Framework.Communications/GridServer/GridCommsManagerBase.cs | |||
@@ -58,6 +58,11 @@ namespace OpenGrid.Framework.Communications.GridServer | |||
58 | { | 58 | { |
59 | return null; | 59 | return null; |
60 | } | 60 | } |
61 | |||
62 | public virtual RegionInfo RequestNeighbourInfo(ulong regionHandle) | ||
63 | { | ||
64 | return null; | ||
65 | } | ||
61 | 66 | ||
62 | } | 67 | } |
63 | } | 68 | } |
diff --git a/Common/OpenGrid.Framework.Communications/GridServer/GridCommsManagerLocal.cs b/Common/OpenGrid.Framework.Communications/GridServer/GridCommsManagerLocal.cs index 78ae712..3c1c29b 100644 --- a/Common/OpenGrid.Framework.Communications/GridServer/GridCommsManagerLocal.cs +++ b/Common/OpenGrid.Framework.Communications/GridServer/GridCommsManagerLocal.cs | |||
@@ -54,5 +54,10 @@ namespace OpenGrid.Framework.Communications.GridServer | |||
54 | { | 54 | { |
55 | return sandBoxManager.RequestNeighbours(regionInfo); | 55 | return sandBoxManager.RequestNeighbours(regionInfo); |
56 | } | 56 | } |
57 | |||
58 | public override RegionInfo RequestNeighbourInfo(ulong regionHandle) | ||
59 | { | ||
60 | return sandBoxManager.RequestNeighbourInfo(regionHandle); | ||
61 | } | ||
57 | } | 62 | } |
58 | } | 63 | } |
diff --git a/Common/OpenGrid.Framework.Communications/InterSimComms/InterSimsCommsBase.cs b/Common/OpenGrid.Framework.Communications/InterSimComms/InterSimsCommsBase.cs index 7977c53..50335c5 100644 --- a/Common/OpenGrid.Framework.Communications/InterSimComms/InterSimsCommsBase.cs +++ b/Common/OpenGrid.Framework.Communications/InterSimComms/InterSimsCommsBase.cs | |||
@@ -42,5 +42,7 @@ namespace OpenGrid.Framework.Communications | |||
42 | /// <param name="agentData"></param> | 42 | /// <param name="agentData"></param> |
43 | /// <returns></returns> | 43 | /// <returns></returns> |
44 | public abstract bool InformNeighbourOfChildAgent(ulong regionHandle, AgentCircuitData agentData); | 44 | public abstract bool InformNeighbourOfChildAgent(ulong regionHandle, AgentCircuitData agentData); |
45 | public abstract bool ExpectAvatarCrossing(ulong regionHandle, libsecondlife.LLUUID agentID, libsecondlife.LLVector3 position); | ||
46 | |||
45 | } | 47 | } |
46 | } | 48 | } |
diff --git a/Common/OpenGrid.Framework.Communications/InterSimComms/InterSimsCommsLocal.cs b/Common/OpenGrid.Framework.Communications/InterSimComms/InterSimsCommsLocal.cs index d1a0b4f..d70376c 100644 --- a/Common/OpenGrid.Framework.Communications/InterSimComms/InterSimsCommsLocal.cs +++ b/Common/OpenGrid.Framework.Communications/InterSimComms/InterSimsCommsLocal.cs | |||
@@ -52,5 +52,10 @@ namespace OpenGrid.Framework.Communications | |||
52 | { | 52 | { |
53 | return sandBoxManager.InformNeighbourOfChildAgent(regionHandle, agentData); | 53 | return sandBoxManager.InformNeighbourOfChildAgent(regionHandle, agentData); |
54 | } | 54 | } |
55 | |||
56 | public override bool ExpectAvatarCrossing(ulong regionHandle, libsecondlife.LLUUID agentID, libsecondlife.LLVector3 position) | ||
57 | { | ||
58 | return sandBoxManager.ExpectAvatarCrossing(regionHandle, agentID, position); | ||
59 | } | ||
55 | } | 60 | } |
56 | } | 61 | } |
diff --git a/Common/OpenGrid.Framework.Communications/InterSimComms/InterSimsCommsOGS.cs b/Common/OpenGrid.Framework.Communications/InterSimComms/InterSimsCommsOGS.cs index 2cdd825..e631cf4 100644 --- a/Common/OpenGrid.Framework.Communications/InterSimComms/InterSimsCommsOGS.cs +++ b/Common/OpenGrid.Framework.Communications/InterSimComms/InterSimsCommsOGS.cs | |||
@@ -39,5 +39,10 @@ namespace OpenGrid.Framework.Communications | |||
39 | { | 39 | { |
40 | return false; | 40 | return false; |
41 | } | 41 | } |
42 | |||
43 | public override bool ExpectAvatarCrossing(ulong regionHandle, libsecondlife.LLUUID agentID, libsecondlife.LLVector3 position) | ||
44 | { | ||
45 | return false; | ||
46 | } | ||
42 | } | 47 | } |
43 | } | 48 | } |
diff --git a/Common/OpenGrid.Framework.Communications/LocalBackEndServices.cs b/Common/OpenGrid.Framework.Communications/LocalBackEndServices.cs index 6b923f6..928215e 100644 --- a/Common/OpenGrid.Framework.Communications/LocalBackEndServices.cs +++ b/Common/OpenGrid.Framework.Communications/LocalBackEndServices.cs | |||
@@ -96,6 +96,20 @@ namespace OpenGrid.Framework.Communications | |||
96 | } | 96 | } |
97 | 97 | ||
98 | /// <summary> | 98 | /// <summary> |
99 | /// | ||
100 | /// </summary> | ||
101 | /// <param name="regionHandle"></param> | ||
102 | /// <returns></returns> | ||
103 | public RegionInfo RequestNeighbourInfo(ulong regionHandle) | ||
104 | { | ||
105 | if (this.regions.ContainsKey(regionHandle)) | ||
106 | { | ||
107 | return this.regions[regionHandle]; | ||
108 | } | ||
109 | return null; | ||
110 | } | ||
111 | |||
112 | /// <summary> | ||
99 | /// </summary> | 113 | /// </summary> |
100 | /// <param name="regionHandle"></param> | 114 | /// <param name="regionHandle"></param> |
101 | /// <param name="agentData"></param> | 115 | /// <param name="agentData"></param> |
@@ -113,6 +127,24 @@ namespace OpenGrid.Framework.Communications | |||
113 | } | 127 | } |
114 | 128 | ||
115 | /// <summary> | 129 | /// <summary> |
130 | /// | ||
131 | /// </summary> | ||
132 | /// <param name="regionHandle"></param> | ||
133 | /// <param name="agentID"></param> | ||
134 | /// <param name="position"></param> | ||
135 | /// <returns></returns> | ||
136 | public bool ExpectAvatarCrossing(ulong regionHandle, libsecondlife.LLUUID agentID, libsecondlife.LLVector3 position) | ||
137 | { | ||
138 | if (this.regionHosts.ContainsKey(regionHandle)) | ||
139 | { | ||
140 | // Console.WriteLine("CommsManager- Informing a region to expect avatar crossing"); | ||
141 | this.regionHosts[regionHandle].ExpectAvatarCrossing(regionHandle, agentID, position); | ||
142 | return true; | ||
143 | } | ||
144 | return false; | ||
145 | } | ||
146 | |||
147 | /// <summary> | ||
116 | /// Is a Sandbox mode method, used by the local Login server to inform a region of a connection user/session | 148 | /// Is a Sandbox mode method, used by the local Login server to inform a region of a connection user/session |
117 | /// </summary> | 149 | /// </summary> |
118 | /// <param name="regionHandle"></param> | 150 | /// <param name="regionHandle"></param> |
diff --git a/Common/OpenSim.Framework/IRegionCommsHost.cs b/Common/OpenSim.Framework/IRegionCommsHost.cs index aa434c5..658afe6 100644 --- a/Common/OpenSim.Framework/IRegionCommsHost.cs +++ b/Common/OpenSim.Framework/IRegionCommsHost.cs | |||
@@ -35,12 +35,13 @@ namespace OpenSim.Framework | |||
35 | { | 35 | { |
36 | public delegate void ExpectUserDelegate(ulong regionHandle, AgentCircuitData agent); | 36 | public delegate void ExpectUserDelegate(ulong regionHandle, AgentCircuitData agent); |
37 | public delegate void UpdateNeighbours(List<RegionInfo> neighbours); | 37 | public delegate void UpdateNeighbours(List<RegionInfo> neighbours); |
38 | public delegate void AgentCrossing(ulong regionHandle, libsecondlife.LLUUID agentID, libsecondlife.LLVector3 position); | ||
38 | 39 | ||
39 | public interface IRegionCommsHost | 40 | public interface IRegionCommsHost |
40 | { | 41 | { |
41 | event ExpectUserDelegate OnExpectUser; | 42 | event ExpectUserDelegate OnExpectUser; |
42 | event GenericCall2 OnExpectChildAgent; | 43 | event GenericCall2 OnExpectChildAgent; |
43 | event GenericCall2 OnAvatarCrossingIntoRegion; | 44 | event AgentCrossing OnAvatarCrossingIntoRegion; |
44 | event UpdateNeighbours OnNeighboursUpdate; | 45 | event UpdateNeighbours OnNeighboursUpdate; |
45 | } | 46 | } |
46 | } | 47 | } |
diff --git a/Common/OpenSim.Framework/Interfaces/IClientAPI.cs b/Common/OpenSim.Framework/Interfaces/IClientAPI.cs index cebfd9a..45d73ef 100644 --- a/Common/OpenSim.Framework/Interfaces/IClientAPI.cs +++ b/Common/OpenSim.Framework/Interfaces/IClientAPI.cs | |||
@@ -125,9 +125,10 @@ namespace OpenSim.Framework.Interfaces | |||
125 | void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID); | 125 | void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID); |
126 | void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID); | 126 | void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID); |
127 | void SendLayerData(float[] map); | 127 | void SendLayerData(float[] map); |
128 | void MoveAgentIntoRegion(RegionInfo regInfo); | 128 | void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos); |
129 | void InformClientOfNeighbour(ulong neighbourHandle, System.Net.IPAddress neighbourIP, ushort neighbourPort); | 129 | void InformClientOfNeighbour(ulong neighbourHandle, System.Net.IPAddress neighbourIP, ushort neighbourPort); |
130 | AgentCircuitData RequestClientInfo(); | 130 | AgentCircuitData RequestClientInfo(); |
131 | void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt, System.Net.IPAddress newRegionIP, ushort newRegionPort); | ||
131 | 132 | ||
132 | void SendAvatarData(RegionInfo regionInfo, string firstName, string lastName, LLUUID avatarID, uint avatarLocalID, LLVector3 Pos); | 133 | void SendAvatarData(RegionInfo regionInfo, string firstName, string lastName, LLUUID avatarID, uint avatarLocalID, LLVector3 Pos); |
133 | void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLVector3 velocity); | 134 | void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLVector3 velocity); |
diff --git a/Common/OpenSim.Framework/RegionCommsHostBase.cs b/Common/OpenSim.Framework/RegionCommsHostBase.cs index 6a08eb8..88751b8 100644 --- a/Common/OpenSim.Framework/RegionCommsHostBase.cs +++ b/Common/OpenSim.Framework/RegionCommsHostBase.cs | |||
@@ -37,7 +37,7 @@ namespace OpenSim.Framework | |||
37 | { | 37 | { |
38 | public event ExpectUserDelegate OnExpectUser; | 38 | public event ExpectUserDelegate OnExpectUser; |
39 | public event GenericCall2 OnExpectChildAgent; | 39 | public event GenericCall2 OnExpectChildAgent; |
40 | public event GenericCall2 OnAvatarCrossingIntoRegion; | 40 | public event AgentCrossing OnAvatarCrossingIntoRegion; |
41 | public event UpdateNeighbours OnNeighboursUpdate; | 41 | public event UpdateNeighbours OnNeighboursUpdate; |
42 | 42 | ||
43 | /// <summary> | 43 | /// <summary> |
@@ -55,5 +55,15 @@ namespace OpenSim.Framework | |||
55 | 55 | ||
56 | return false; | 56 | return false; |
57 | } | 57 | } |
58 | |||
59 | public virtual bool ExpectAvatarCrossing(ulong regionHandle, libsecondlife.LLUUID agentID, libsecondlife.LLVector3 position) | ||
60 | { | ||
61 | if (OnAvatarCrossingIntoRegion != null) | ||
62 | { | ||
63 | OnAvatarCrossingIntoRegion(regionHandle, agentID, position); | ||
64 | return true; | ||
65 | } | ||
66 | return false; | ||
67 | } | ||
58 | } | 68 | } |
59 | } | 69 | } |