locate default anims also by uuid, rename/chage a few things
parent
e2f84f0c1f
commit
c097f148dd
|
@ -171,9 +171,9 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
|||
// "[ANIMATION SET]: Setting default animation {0}, sequence number {1}, object id {2}",
|
||||
// anim, sequenceNum, objectID);
|
||||
|
||||
if (DefaultAvatarAnimations.AnimsUUID.ContainsKey(anim))
|
||||
if (DefaultAvatarAnimations.AnimsUUIDbyName.TryGetValue(anim, out UUID id))
|
||||
{
|
||||
return SetDefaultAnimation(DefaultAvatarAnimations.AnimsUUID[anim], sequenceNum, objectID);
|
||||
return SetDefaultAnimation(id, sequenceNum, objectID);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -39,8 +39,8 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
|||
|
||||
public static readonly string DefaultAnimationsPath = "data/avataranimations.xml";
|
||||
|
||||
public static Dictionary<string, UUID> AnimsUUID = new Dictionary<string, UUID>();
|
||||
public static Dictionary<UUID, string> AnimsNames = new Dictionary<UUID, string>();
|
||||
public static Dictionary<string, UUID> AnimsUUIDbyName = new Dictionary<string, UUID>();
|
||||
public static Dictionary<UUID, string> AnimsNamesbyUUID = new Dictionary<UUID, string>();
|
||||
public static Dictionary<UUID, string> AnimStateNames = new Dictionary<UUID, string>();
|
||||
|
||||
static DefaultAvatarAnimations()
|
||||
|
@ -70,8 +70,8 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
|||
UUID id = (UUID)nod.InnerText;
|
||||
string animState = (string)nod.Attributes["state"].Value;
|
||||
|
||||
AnimsUUID.Add(name, id);
|
||||
AnimsNames.Add(id, name);
|
||||
AnimsUUIDbyName.Add(name, id);
|
||||
AnimsNamesbyUUID.Add(id, name);
|
||||
if (animState != "")
|
||||
AnimStateNames.Add(id, animState);
|
||||
|
||||
|
@ -93,13 +93,18 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
|||
{
|
||||
// m_log.DebugFormat(
|
||||
// "[AVATAR ANIMATIONS]: Looking for default avatar animation with name {0}", name);
|
||||
|
||||
if (AnimsUUID.ContainsKey(name))
|
||||
UUID id;
|
||||
if (AnimsUUIDbyName.TryGetValue(name, out id))
|
||||
{
|
||||
// m_log.DebugFormat(
|
||||
// "[AVATAR ANIMATIONS]: Found {0} {1} in GetDefaultAvatarAnimation()", AnimsUUID[name], name);
|
||||
|
||||
return AnimsUUID[name];
|
||||
return id;
|
||||
}
|
||||
if(UUID.TryParse(name, out id))
|
||||
{
|
||||
if(AnimsNamesbyUUID.ContainsKey(id))
|
||||
return id;
|
||||
}
|
||||
|
||||
return UUID.Zero;
|
||||
|
@ -111,24 +116,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
|||
/// </summary>
|
||||
public static string GetDefaultAnimationName(UUID uuid)
|
||||
{
|
||||
string ret = "unknown";
|
||||
if (AnimsUUID.ContainsValue(uuid))
|
||||
{
|
||||
foreach (KeyValuePair<string, UUID> kvp in AnimsUUID)
|
||||
{
|
||||
if (kvp.Value == uuid)
|
||||
{
|
||||
ret = kvp.Key;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(AnimsNamesbyUUID.TryGetValue(uuid, out string ret))
|
||||
return ret;
|
||||
else
|
||||
{
|
||||
ret = uuid.ToString();
|
||||
}
|
||||
|
||||
return ret;
|
||||
return uuid.ToString();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -216,7 +216,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
|||
{
|
||||
if (anim == "SITGROUND")
|
||||
{
|
||||
UUID defsit = DefaultAvatarAnimations.AnimsUUID["SIT_GROUND_CONSTRAINED"];
|
||||
UUID defsit = DefaultAvatarAnimations.AnimsUUIDbyName["SIT_GROUND_CONSTRAINED"];
|
||||
if (defsit == UUID.Zero)
|
||||
return false;
|
||||
m_animations.SetDefaultAnimation(defsit, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, m_scenePresence.UUID);
|
||||
|
@ -863,7 +863,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
|||
{
|
||||
string animName;
|
||||
|
||||
if (!DefaultAvatarAnimations.AnimsNames.TryGetValue(animId, out animName))
|
||||
if (!DefaultAvatarAnimations.AnimsNamesbyUUID.TryGetValue(animId, out animName))
|
||||
{
|
||||
AssetMetadata amd = m_scenePresence.Scene.AssetService.GetMetadata(animId.ToString());
|
||||
if (amd != null)
|
||||
|
|
|
@ -6662,7 +6662,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
}
|
||||
|
||||
if (agent.Animator.Animations.ImplicitDefaultAnimation.AnimID
|
||||
== DefaultAvatarAnimations.AnimsUUID["SIT_GROUND_CONSTRAINED"])
|
||||
== DefaultAvatarAnimations.AnimsUUIDbyName["SIT_GROUND_CONSTRAINED"])
|
||||
{
|
||||
flags |= ScriptBaseClass.AGENT_SITTING;
|
||||
}
|
||||
|
@ -11212,7 +11212,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
Vector3 box = presence.Appearance.AvatarBoxSize * 0.5f;
|
||||
|
||||
if (presence.Animator.Animations.ImplicitDefaultAnimation.AnimID
|
||||
== DefaultAvatarAnimations.AnimsUUID["SIT_GROUND_CONSTRAINED"])
|
||||
== DefaultAvatarAnimations.AnimsUUIDbyName["SIT_GROUND_CONSTRAINED"])
|
||||
/*
|
||||
{
|
||||
// This is for ground sitting avatars
|
||||
|
@ -11310,7 +11310,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
upper = new Vector3(m_lABB2SitX0, m_lABB2SitY0, m_lABB2SitZ0 + m_lABB2SitZ1 * height);
|
||||
}
|
||||
// When avatar is groundsitting
|
||||
else if (sp.Animator.Animations.ImplicitDefaultAnimation.AnimID == DefaultAvatarAnimations.AnimsUUID["SIT_GROUND_CONSTRAINED"])
|
||||
else if (sp.Animator.Animations.ImplicitDefaultAnimation.AnimID == DefaultAvatarAnimations.AnimsUUIDbyName["SIT_GROUND_CONSTRAINED"])
|
||||
{
|
||||
lower = new Vector3(m_lABB1GrsX0, m_lABB1GrsY0, m_lABB1GrsZ0 + m_lABB1GrsZ1 * height);
|
||||
upper = new Vector3(m_lABB2GrsX0, m_lABB2GrsY0, m_lABB2GrsZ0 + m_lABB2GrsZ1 * height);
|
||||
|
@ -17365,7 +17365,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
if (animID == UUID.Zero)
|
||||
{
|
||||
String animupper = ((string)anim).ToUpperInvariant();
|
||||
DefaultAvatarAnimations.AnimsUUID.TryGetValue(animupper, out animID);
|
||||
DefaultAvatarAnimations.AnimsUUIDbyName.TryGetValue(animupper, out animID);
|
||||
}
|
||||
|
||||
if (animID == UUID.Zero)
|
||||
|
@ -17458,7 +17458,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
if (animID == UUID.Zero)
|
||||
return animState;
|
||||
|
||||
foreach (KeyValuePair<string, UUID> kvp in DefaultAvatarAnimations.AnimsUUID)
|
||||
foreach (KeyValuePair<string, UUID> kvp in DefaultAvatarAnimations.AnimsUUIDbyName)
|
||||
{
|
||||
if (kvp.Value == animID)
|
||||
return kvp.Key.ToLower();
|
||||
|
|
Loading…
Reference in New Issue