mirror of
https://github.com/opensim/opensim.git
synced 2026-08-07 09:45:47 +08:00
*test*
This commit is contained in:
@@ -349,6 +349,8 @@ namespace OpenSim.Framework
|
||||
public List<ISceneObject> AttachmentObjects;
|
||||
public List<string> AttachmentObjectStates;
|
||||
|
||||
public Dictionary<string, UUID> MovementAnimationOverRides = new Dictionary<string, UUID>();
|
||||
|
||||
public virtual OSDMap Pack()
|
||||
{
|
||||
// m_log.InfoFormat("[CHILDAGENTDATAUPDATE] Pack data");
|
||||
@@ -417,6 +419,21 @@ namespace OpenSim.Framework
|
||||
args["animation_state"] = AnimState.PackUpdateMessage();
|
||||
}
|
||||
|
||||
if (MovementAnimationOverRides.Count > 0)
|
||||
{
|
||||
OSDArray AOs = new OSDArray(MovementAnimationOverRides.Count);
|
||||
{
|
||||
foreach (KeyValuePair<string, UUID> kvp in MovementAnimationOverRides)
|
||||
{
|
||||
OSDMap ao = new OSDMap(2);
|
||||
ao["state"] = OSD.FromString(kvp.Key);
|
||||
ao["uuid"] = OSD.FromUUID(kvp.Value);
|
||||
AOs.Add(ao);
|
||||
}
|
||||
}
|
||||
args["movementAO"] = AOs;
|
||||
}
|
||||
|
||||
if (Appearance != null)
|
||||
args["packed_appearance"] = Appearance.Pack();
|
||||
|
||||
@@ -640,6 +657,25 @@ namespace OpenSim.Framework
|
||||
}
|
||||
}
|
||||
|
||||
MovementAnimationOverRides.Clear();
|
||||
|
||||
if (args["movementAO"] != null && args["movementAO"].Type == OSDType.Array)
|
||||
{
|
||||
OSDArray AOs = (OSDArray)(args["movementAO"]);
|
||||
int count = AOs.Count;
|
||||
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
OSDMap ao = (OSDMap)AOs[i];
|
||||
if (ao["state"] != null && ao["uuid"] != null)
|
||||
{
|
||||
string state = ao["state"].AsString();
|
||||
UUID id = ao["uuid"].AsUUID();
|
||||
MovementAnimationOverRides[state] = id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//if ((args["agent_textures"] != null) && (args["agent_textures"]).Type == OSDType.Array)
|
||||
//{
|
||||
// OSDArray textures = (OSDArray)(args["agent_textures"]);
|
||||
|
||||
Reference in New Issue
Block a user