diff options
Diffstat (limited to 'OpenSim/Framework/AvatarAppearance.cs')
-rw-r--r-- | OpenSim/Framework/AvatarAppearance.cs | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/OpenSim/Framework/AvatarAppearance.cs b/OpenSim/Framework/AvatarAppearance.cs index c69dde3..21e2233 100644 --- a/OpenSim/Framework/AvatarAppearance.cs +++ b/OpenSim/Framework/AvatarAppearance.cs | |||
@@ -245,6 +245,21 @@ namespace OpenSim.Framework | |||
245 | // } | 245 | // } |
246 | } | 246 | } |
247 | 247 | ||
248 | /// <summary> | ||
249 | /// Invalidate all of the baked textures in the appearance, useful | ||
250 | /// if you know that none are valid | ||
251 | /// </summary> | ||
252 | public virtual void ResetBakedTextures() | ||
253 | { | ||
254 | SetDefaultTexture(); | ||
255 | |||
256 | //for (int i = 0; i < BAKE_INDICES.Length; i++) | ||
257 | // { | ||
258 | // int idx = BAKE_INDICES[i]; | ||
259 | // m_texture.FaceTextures[idx].TextureID = UUID.Zero; | ||
260 | // } | ||
261 | } | ||
262 | |||
248 | protected virtual void SetDefaultTexture() | 263 | protected virtual void SetDefaultTexture() |
249 | { | 264 | { |
250 | m_texture = new Primitive.TextureEntry(new UUID(AppearanceManager.DEFAULT_AVATAR_TEXTURE)); | 265 | m_texture = new Primitive.TextureEntry(new UUID(AppearanceManager.DEFAULT_AVATAR_TEXTURE)); |
@@ -390,19 +405,18 @@ namespace OpenSim.Framework | |||
390 | /// </remarks> | 405 | /// </remarks> |
391 | public List<AvatarAttachment> GetAttachments() | 406 | public List<AvatarAttachment> GetAttachments() |
392 | { | 407 | { |
393 | List<AvatarAttachment> alist = new List<AvatarAttachment>(); | 408 | |
394 | 409 | ||
395 | lock (m_attachments) | 410 | lock (m_attachments) |
396 | { | 411 | { |
412 | List<AvatarAttachment> alist = new List<AvatarAttachment>(); | ||
397 | foreach (KeyValuePair<int, List<AvatarAttachment>> kvp in m_attachments) | 413 | foreach (KeyValuePair<int, List<AvatarAttachment>> kvp in m_attachments) |
398 | { | 414 | { |
399 | foreach (AvatarAttachment attach in kvp.Value) | 415 | foreach (AvatarAttachment attach in kvp.Value) |
400 | alist.Add(new AvatarAttachment(attach)); | 416 | alist.Add(new AvatarAttachment(attach)); |
401 | } | 417 | } |
402 | } | 418 | return alist; |
403 | 419 | } } | |
404 | return alist; | ||
405 | } | ||
406 | 420 | ||
407 | internal void AppendAttachment(AvatarAttachment attach) | 421 | internal void AppendAttachment(AvatarAttachment attach) |
408 | { | 422 | { |
@@ -531,7 +545,6 @@ namespace OpenSim.Framework | |||
531 | return kvp.Key; | 545 | return kvp.Key; |
532 | } | 546 | } |
533 | } | 547 | } |
534 | |||
535 | return 0; | 548 | return 0; |
536 | } | 549 | } |
537 | 550 | ||
@@ -599,12 +612,14 @@ namespace OpenSim.Framework | |||
599 | OSDBinary visualparams = new OSDBinary(m_visualparams); | 612 | OSDBinary visualparams = new OSDBinary(m_visualparams); |
600 | data["visualparams"] = visualparams; | 613 | data["visualparams"] = visualparams; |
601 | 614 | ||
602 | // Attachments | 615 | lock (m_attachments) |
603 | List<AvatarAttachment> attachments = GetAttachments(); | 616 | { |
604 | OSDArray attachs = new OSDArray(attachments.Count); | 617 | // Attachments |
605 | foreach (AvatarAttachment attach in GetAttachments()) | 618 | OSDArray attachs = new OSDArray(m_attachments.Count); |
606 | attachs.Add(attach.Pack()); | 619 | foreach (AvatarAttachment attach in GetAttachments()) |
607 | data["attachments"] = attachs; | 620 | attachs.Add(attach.Pack()); |
621 | data["attachments"] = attachs; | ||
622 | } | ||
608 | 623 | ||
609 | return data; | 624 | return data; |
610 | } | 625 | } |