diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneBase.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneBase.cs | 49 |
1 files changed, 48 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneBase.cs b/OpenSim/Region/Environment/Scenes/SceneBase.cs index 9528a0d..fafa933 100644 --- a/OpenSim/Region/Environment/Scenes/SceneBase.cs +++ b/OpenSim/Region/Environment/Scenes/SceneBase.cs | |||
@@ -216,8 +216,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
216 | 216 | ||
217 | /// <summary> | 217 | /// <summary> |
218 | /// XXX These two methods are very temporary | 218 | /// XXX These two methods are very temporary |
219 | /// XXX Diva: this is really truly horrible; must...move...to...LL client...stack... | ||
219 | /// </summary> | 220 | /// </summary> |
220 | protected Dictionary<UUID, string> capsPaths = new Dictionary<UUID, string>(); | 221 | protected Dictionary<UUID, string> capsPaths = new Dictionary<UUID, string>(); |
222 | protected Dictionary<UUID, Dictionary<ulong, string>> childrenSeeds = new Dictionary<UUID, Dictionary<ulong, string>>(); | ||
221 | public string GetCapsPath(UUID agentId) | 223 | public string GetCapsPath(UUID agentId) |
222 | { | 224 | { |
223 | if (capsPaths.ContainsKey(agentId)) | 225 | if (capsPaths.ContainsKey(agentId)) |
@@ -227,7 +229,52 @@ namespace OpenSim.Region.Environment.Scenes | |||
227 | 229 | ||
228 | return null; | 230 | return null; |
229 | } | 231 | } |
230 | 232 | public Dictionary<ulong, string> GetChildrenSeeds(UUID agentID) | |
233 | { | ||
234 | Dictionary<ulong, string> seeds = null; | ||
235 | if (childrenSeeds.TryGetValue(agentID, out seeds)) | ||
236 | return seeds; | ||
237 | return new Dictionary<ulong, string>(); | ||
238 | } | ||
239 | |||
240 | public void DropChildSeed(UUID agentID, ulong handle) | ||
241 | { | ||
242 | Dictionary<ulong, string> seeds; | ||
243 | if (childrenSeeds.TryGetValue(agentID, out seeds)) | ||
244 | { | ||
245 | seeds.Remove(handle); | ||
246 | } | ||
247 | } | ||
248 | |||
249 | public string GetChildSeed(UUID agentID, ulong handle) | ||
250 | { | ||
251 | Dictionary<ulong, string> seeds; | ||
252 | if (childrenSeeds.TryGetValue(agentID, out seeds)) | ||
253 | { | ||
254 | return seeds[handle]; | ||
255 | } | ||
256 | return null; | ||
257 | } | ||
258 | |||
259 | public void SetChildrenSeed(UUID agentID, Dictionary<ulong, string> value) | ||
260 | { | ||
261 | //Console.WriteLine(" !!! Setting child seeds in {0} to {1}", RegionInfo.RegionName, value.Count); | ||
262 | childrenSeeds[agentID] = value; | ||
263 | } | ||
264 | |||
265 | public void DumpChildrenSeeds(UUID agentID) | ||
266 | { | ||
267 | Console.WriteLine("================ ChildrenSeed {0} ================", RegionInfo.RegionName); | ||
268 | foreach (KeyValuePair<ulong, string> kvp in childrenSeeds[agentID]) | ||
269 | { | ||
270 | uint x, y; | ||
271 | Utils.LongToUInts(kvp.Key, out x, out y); | ||
272 | x = x / Constants.RegionSize; | ||
273 | y = y / Constants.RegionSize; | ||
274 | Console.WriteLine(" >> {0}, {1}: {2}", x, y, kvp.Value); | ||
275 | } | ||
276 | } | ||
277 | |||
231 | /// <summary> | 278 | /// <summary> |
232 | /// Returns a new unallocated local ID | 279 | /// Returns a new unallocated local ID |
233 | /// </summary> | 280 | /// </summary> |