aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs91
1 files changed, 38 insertions, 53 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs b/OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs
index 38eceb1..be3069a 100644
--- a/OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs
+++ b/OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs
@@ -207,39 +207,6 @@ namespace OpenSim.Region.Framework.Scenes
207 } 207 }
208 } 208 }
209 209
210 //public class AgentAnimationData
211 //{
212 // public UUID Animation;
213 // public UUID ObjectID;
214
215 // public AgentAnimationData(UUID anim, UUID obj)
216 // {
217 // Animation = anim;
218 // ObjectID = obj;
219 // }
220
221 // public AgentAnimationData(OSDMap args)
222 // {
223 // UnpackUpdateMessage(args);
224 // }
225
226 // public OSDMap PackUpdateMessage()
227 // {
228 // OSDMap anim = new OSDMap();
229 // anim["animation"] = OSD.FromUUID(Animation);
230 // anim["object_id"] = OSD.FromUUID(ObjectID);
231 // return anim;
232 // }
233
234 // public void UnpackUpdateMessage(OSDMap args)
235 // {
236 // if (args["animation"] != null)
237 // Animation = args["animation"].AsUUID();
238 // if (args["object_id"] != null)
239 // ObjectID = args["object_id"].AsUUID();
240 // }
241 //}
242
243 public class AgentData : IAgentData 210 public class AgentData : IAgentData
244 { 211 {
245 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 212 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
@@ -276,16 +243,17 @@ namespace OpenSim.Region.Framework.Scenes
276 public bool AlwaysRun; 243 public bool AlwaysRun;
277 public UUID PreyAgent; 244 public UUID PreyAgent;
278 public Byte AgentAccess; 245 public Byte AgentAccess;
279 public UUID[] AgentTextures;
280 public UUID ActiveGroupID; 246 public UUID ActiveGroupID;
281 247
282 public AgentGroupData[] Groups; 248 public AgentGroupData[] Groups;
283 public Animation[] Anims; 249 public Animation[] Anims;
284 250
285 public UUID GranterID; 251 public UUID GranterID;
286 public Dictionary<string, string> NVPairs;
287 252
253 // Appearance
254 public UUID[] AgentTextures;
288 public byte[] VisualParams; 255 public byte[] VisualParams;
256 public UUID[] Wearables;
289 257
290 public string CallbackURI; 258 public string CallbackURI;
291 259
@@ -325,14 +293,6 @@ namespace OpenSim.Region.Framework.Scenes
325 args["prey_agent"] = OSD.FromUUID(PreyAgent); 293 args["prey_agent"] = OSD.FromUUID(PreyAgent);
326 args["agent_access"] = OSD.FromString(AgentAccess.ToString()); 294 args["agent_access"] = OSD.FromString(AgentAccess.ToString());
327 295
328 if ((AgentTextures != null) && (AgentTextures.Length > 0))
329 {
330 OSDArray textures = new OSDArray(AgentTextures.Length);
331 foreach (UUID uuid in AgentTextures)
332 textures.Add(OSD.FromUUID(uuid));
333 args["agent_textures"] = textures;
334 }
335
336 args["active_group_id"] = OSD.FromUUID(ActiveGroupID); 296 args["active_group_id"] = OSD.FromUUID(ActiveGroupID);
337 297
338 if ((Groups != null) && (Groups.Length > 0)) 298 if ((Groups != null) && (Groups.Length > 0))
@@ -351,10 +311,26 @@ namespace OpenSim.Region.Framework.Scenes
351 args["animations"] = anims; 311 args["animations"] = anims;
352 } 312 }
353 313
314 if ((AgentTextures != null) && (AgentTextures.Length > 0))
315 {
316 OSDArray textures = new OSDArray(AgentTextures.Length);
317 foreach (UUID uuid in AgentTextures)
318 textures.Add(OSD.FromUUID(uuid));
319 args["agent_textures"] = textures;
320 }
321
354 if ((VisualParams != null) && (VisualParams.Length > 0)) 322 if ((VisualParams != null) && (VisualParams.Length > 0))
355 args["visual_params"] = OSD.FromBinary(VisualParams); 323 args["visual_params"] = OSD.FromBinary(VisualParams);
356 324
357 // Last few fields are still missing: granter and NVPais 325 // We might not pass this in all cases...
326 if ((Wearables != null) && (Wearables.Length > 0))
327 {
328 OSDArray wears = new OSDArray(Wearables.Length);
329 foreach (UUID uuid in Wearables)
330 wears.Add(OSD.FromUUID(uuid));
331 args["wearables"] = wears;
332 }
333
358 334
359 if ((CallbackURI != null) && (!CallbackURI.Equals(""))) 335 if ((CallbackURI != null) && (!CallbackURI.Equals("")))
360 args["callback_uri"] = OSD.FromString(CallbackURI); 336 args["callback_uri"] = OSD.FromString(CallbackURI);
@@ -441,15 +417,6 @@ namespace OpenSim.Region.Framework.Scenes
441 if (args["agent_access"] != null) 417 if (args["agent_access"] != null)
442 Byte.TryParse(args["agent_access"].AsString(), out AgentAccess); 418 Byte.TryParse(args["agent_access"].AsString(), out AgentAccess);
443 419
444 if ((args["agent_textures"] != null) && (args["agent_textures"]).Type == OSDType.Array)
445 {
446 OSDArray textures = (OSDArray)(args["agent_textures"]);
447 AgentTextures = new UUID[textures.Count];
448 int i = 0;
449 foreach (OSD o in textures)
450 AgentTextures[i++] = o.AsUUID();
451 }
452
453 if (args["active_group_id"] != null) 420 if (args["active_group_id"] != null)
454 ActiveGroupID = args["active_group_id"].AsUUID(); 421 ActiveGroupID = args["active_group_id"].AsUUID();
455 422
@@ -481,9 +448,27 @@ namespace OpenSim.Region.Framework.Scenes
481 } 448 }
482 } 449 }
483 450
451 if ((args["agent_textures"] != null) && (args["agent_textures"]).Type == OSDType.Array)
452 {
453 OSDArray textures = (OSDArray)(args["agent_textures"]);
454 AgentTextures = new UUID[textures.Count];
455 int i = 0;
456 foreach (OSD o in textures)
457 AgentTextures[i++] = o.AsUUID();
458 }
459
484 if (args["visual_params"] != null) 460 if (args["visual_params"] != null)
485 VisualParams = args["visual_params"].AsBinary(); 461 VisualParams = args["visual_params"].AsBinary();
486 462
463 if ((args["wearables"] != null) && (args["wearables"]).Type == OSDType.Array)
464 {
465 OSDArray wears = (OSDArray)(args["wearables"]);
466 Wearables = new UUID[wears.Count];
467 int i = 0;
468 foreach (OSD o in wears)
469 Wearables[i++] = o.AsUUID();
470 }
471
487 if (args["callback_uri"] != null) 472 if (args["callback_uri"] != null)
488 CallbackURI = args["callback_uri"].AsString(); 473 CallbackURI = args["callback_uri"].AsString();
489 } 474 }