mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 06:06:06 +08:00
Major refactoring of appearance handling.
AvatarService -- add two new methods, GetAppearance and SetAppearance to get around the lossy encoding in AvatarData. Preseve the old functions to avoid changing the behavior for ROBUST services. AvatarAppearance -- major refactor, moved the various encoding methods used by AgentCircuitData, ClientAgentUpdate and ScenePresence into one location. Changed initialization. AvatarAttachments -- added a class specifically to handle attachments in preparation for additional functionality that will be needed for viewer 2. AvatarFactory -- removed a number of unused or methods duplicated in other locations. Moved in all appearance event handling from ScenePresence. Required a change to IClientAPI that propogated throughout all the IClientAPI implementations.
This commit is contained in:
@@ -64,15 +64,13 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
if (m_appearanceCache.ContainsKey(target))
|
||||
return m_appearanceCache[target];
|
||||
|
||||
AvatarData adata = scene.AvatarService.GetAvatar(target);
|
||||
if (adata != null)
|
||||
AvatarAppearance appearance = scene.AvatarService.GetAppearance(target);
|
||||
if (appearance != null)
|
||||
{
|
||||
AvatarAppearance x = adata.ToAvatarAppearance(target);
|
||||
|
||||
m_appearanceCache.Add(target, x);
|
||||
|
||||
return x;
|
||||
m_appearanceCache.Add(target, appearance);
|
||||
return appearance;
|
||||
}
|
||||
|
||||
return new AvatarAppearance();
|
||||
}
|
||||
|
||||
@@ -169,7 +167,9 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
{
|
||||
AvatarAppearance x = GetAppearance(p_cloneAppearanceFrom, p_scene);
|
||||
|
||||
sp.SetAppearance(x.Texture, (byte[])x.VisualParams.Clone());
|
||||
sp.Appearance.SetTextureEntries(x.Texture);
|
||||
sp.Appearance.SetVisualParams((byte[])x.VisualParams.Clone());
|
||||
sp.SendAppearanceToAllOtherAgents();
|
||||
}
|
||||
|
||||
m_avatars.Add(npcAvatar.AgentId, npcAvatar);
|
||||
|
||||
Reference in New Issue
Block a user