aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/SLUtil.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-03-09 23:57:24 +0000
committerJustin Clark-Casey (justincc)2012-03-09 23:57:24 +0000
commitbdc968f1fcd4008e9f2a6099a7d30edb075ca0f1 (patch)
tree7c2c45cc97fb1b2181605313ed50e5db9cd6ec0f /OpenSim/Framework/SLUtil.cs
parentMerge branch 'master' of melanie@opensimulator.org:/var/git/opensim (diff)
downloadopensim-SC-bdc968f1fcd4008e9f2a6099a7d30edb075ca0f1.zip
opensim-SC-bdc968f1fcd4008e9f2a6099a7d30edb075ca0f1.tar.gz
opensim-SC-bdc968f1fcd4008e9f2a6099a7d30edb075ca0f1.tar.bz2
opensim-SC-bdc968f1fcd4008e9f2a6099a7d30edb075ca0f1.tar.xz
Factor out common default animations code into SLUtil. LLClientView now makes use of the SLUtil copy via a method rather than each LLClientView loading a separate copy.
As per opensim-users mailing list discussion.
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/SLUtil.cs52
1 files changed, 51 insertions, 1 deletions
diff --git a/OpenSim/Framework/SLUtil.cs b/OpenSim/Framework/SLUtil.cs
index b337e03..f9cb851 100644
--- a/OpenSim/Framework/SLUtil.cs
+++ b/OpenSim/Framework/SLUtil.cs
@@ -28,6 +28,7 @@
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.Reflection; 30using System.Reflection;
31using System.Xml;
31using log4net; 32using log4net;
32using OpenMetaverse; 33using OpenMetaverse;
33 34
@@ -39,6 +40,13 @@ namespace OpenSim.Framework
39 40
40 #region SL / file extension / content-type conversions 41 #region SL / file extension / content-type conversions
41 42
43 public static Dictionary<string, UUID> DefaultAvatarAnimations = new Dictionary<string, UUID>();
44
45 static SLUtil()
46 {
47 DefaultAvatarAnimations = LoadDefaultAvatarAnimations("data/avataranimations.xml");
48 }
49
42 public static string SLAssetTypeToContentType(int assetType) 50 public static string SLAssetTypeToContentType(int assetType)
43 { 51 {
44 switch ((AssetType)assetType) 52 switch ((AssetType)assetType)
@@ -374,5 +382,47 @@ namespace OpenSim.Framework
374 382
375 return output; 383 return output;
376 } 384 }
385
386 /// <summary>
387 /// Load the default SL avatar animations.
388 /// </summary>
389 /// <returns></returns>
390 public static Dictionary<string, UUID> LoadDefaultAvatarAnimations(string path)
391 {
392 Dictionary<string, UUID> animations = new Dictionary<string, UUID>();
393
394 using (XmlTextReader reader = new XmlTextReader(path))
395 {
396 XmlDocument doc = new XmlDocument();
397 doc.Load(reader);
398 if (doc.DocumentElement != null)
399 {
400 foreach (XmlNode nod in doc.DocumentElement.ChildNodes)
401 {
402 if (nod.Attributes["name"] != null)
403 {
404 string name = nod.Attributes["name"].Value.ToLower();
405 string id = nod.InnerText;
406 animations.Add(name, (UUID)id);
407 }
408 }
409 }
410 }
411
412 return animations;
413 }
414
415 /// <summary>
416 /// Get the default SL avatar animation with the given name.
417 /// </summary>
418 /// <param name="name"></param>
419 /// <returns></returns>
420 public static UUID GetDefaultAvatarAnimation(string name)
421 {
422 if (DefaultAvatarAnimations.ContainsKey(name))
423 return DefaultAvatarAnimations[name];
424
425 return UUID.Zero;
426 }
377 } 427 }
378} 428} \ No newline at end of file