diff options
author | Teravus Ovares | 2008-08-25 07:35:17 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-08-25 07:35:17 +0000 |
commit | 2912aafe259727351eb9405532e45aa3501b7e9a (patch) | |
tree | 34774a49306ae19a6682580d41927fcfb222ea6e /OpenSim/Framework/AgentCircuitManager.cs | |
parent | Mantis#2043. Thank you kindly, Ralphos for a patch that addresses: (diff) | |
download | opensim-SC-2912aafe259727351eb9405532e45aa3501b7e9a.zip opensim-SC-2912aafe259727351eb9405532e45aa3501b7e9a.tar.gz opensim-SC-2912aafe259727351eb9405532e45aa3501b7e9a.tar.bz2 opensim-SC-2912aafe259727351eb9405532e45aa3501b7e9a.tar.xz |
* This commit incorporates the heart of the OpenGridProtocol patch that is currently on Forge in a nice, friendly modular format.
* There are a lot of changes and this is quite experimental. It's off by default, but you can turn it on by examining the bottom of the opensim.ini.example for the proper OpenSim.ini settings. Remember, you still need an agent domain..
* Furthermore, it isn't quite right when it comes to teleporting to remote regions (place_avatar)
Diffstat (limited to 'OpenSim/Framework/AgentCircuitManager.cs')
-rw-r--r-- | OpenSim/Framework/AgentCircuitManager.cs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/OpenSim/Framework/AgentCircuitManager.cs b/OpenSim/Framework/AgentCircuitManager.cs index 426e8e2..80e2f87 100644 --- a/OpenSim/Framework/AgentCircuitManager.cs +++ b/OpenSim/Framework/AgentCircuitManager.cs | |||
@@ -103,10 +103,41 @@ namespace OpenSim.Framework | |||
103 | AgentCircuits[(uint) agentData.circuitcode].firstname = agentData.firstname; | 103 | AgentCircuits[(uint) agentData.circuitcode].firstname = agentData.firstname; |
104 | AgentCircuits[(uint) agentData.circuitcode].lastname = agentData.lastname; | 104 | AgentCircuits[(uint) agentData.circuitcode].lastname = agentData.lastname; |
105 | AgentCircuits[(uint) agentData.circuitcode].startpos = agentData.startpos; | 105 | AgentCircuits[(uint) agentData.circuitcode].startpos = agentData.startpos; |
106 | |||
107 | // Updated for when we don't know them before calling Scene.NewUserConnection | ||
108 | AgentCircuits[(uint) agentData.circuitcode].SecureSessionID = agentData.SecureSessionID; | ||
109 | AgentCircuits[(uint) agentData.circuitcode].SessionID = agentData.SessionID; | ||
110 | |||
106 | // Console.WriteLine("update user start pos is " + agentData.startpos.X + " , " + agentData.startpos.Y + " , " + agentData.startpos.Z); | 111 | // Console.WriteLine("update user start pos is " + agentData.startpos.X + " , " + agentData.startpos.Y + " , " + agentData.startpos.Z); |
107 | } | 112 | } |
108 | } | 113 | } |
109 | 114 | ||
115 | |||
116 | /// <summary> | ||
117 | /// Sometimes the circuitcode may not be known before setting up the connection | ||
118 | /// </summary> | ||
119 | /// <param name="circuitcode"></param> | ||
120 | /// <param name="newcircuitcode"></param> | ||
121 | |||
122 | public bool TryChangeCiruitCode(uint circuitcode, uint newcircuitcode) | ||
123 | { | ||
124 | lock (AgentCircuits) | ||
125 | { | ||
126 | if (AgentCircuits.ContainsKey((uint)circuitcode) && !AgentCircuits.ContainsKey((uint)newcircuitcode)) | ||
127 | { | ||
128 | AgentCircuitData agentData = AgentCircuits[(uint)circuitcode]; | ||
129 | |||
130 | agentData.circuitcode = newcircuitcode; | ||
131 | |||
132 | AgentCircuits.Remove((uint)circuitcode); | ||
133 | AgentCircuits.Add(newcircuitcode, agentData); | ||
134 | return true; | ||
135 | } | ||
136 | } | ||
137 | return false; | ||
138 | |||
139 | } | ||
140 | |||
110 | public void UpdateAgentChildStatus(uint circuitcode, bool childstatus) | 141 | public void UpdateAgentChildStatus(uint circuitcode, bool childstatus) |
111 | { | 142 | { |
112 | if (AgentCircuits.ContainsKey(circuitcode)) | 143 | if (AgentCircuits.ContainsKey(circuitcode)) |