mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 17:32:42 +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:
@@ -330,10 +330,10 @@ namespace OpenSim.Services.LLLoginService
|
||||
//
|
||||
// Get the avatar
|
||||
//
|
||||
AvatarData avatar = null;
|
||||
AvatarAppearance avatar = null;
|
||||
if (m_AvatarService != null)
|
||||
{
|
||||
avatar = m_AvatarService.GetAvatar(account.PrincipalID);
|
||||
avatar = m_AvatarService.GetAppearance(account.PrincipalID);
|
||||
}
|
||||
|
||||
//
|
||||
@@ -601,7 +601,7 @@ namespace OpenSim.Services.LLLoginService
|
||||
}
|
||||
}
|
||||
|
||||
protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarData avatar,
|
||||
protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarAppearance avatar,
|
||||
UUID session, UUID secureSession, Vector3 position, string currentWhere, string viewer, string channel, string mac, string id0,
|
||||
IPEndPoint clientIP, out string where, out string reason, out GridRegion dest)
|
||||
{
|
||||
@@ -697,14 +697,14 @@ namespace OpenSim.Services.LLLoginService
|
||||
}
|
||||
|
||||
private AgentCircuitData MakeAgent(GridRegion region, UserAccount account,
|
||||
AvatarData avatar, UUID session, UUID secureSession, uint circuit, Vector3 position,
|
||||
AvatarAppearance avatar, UUID session, UUID secureSession, uint circuit, Vector3 position,
|
||||
string ipaddress, string viewer, string channel, string mac, string id0)
|
||||
{
|
||||
AgentCircuitData aCircuit = new AgentCircuitData();
|
||||
|
||||
aCircuit.AgentID = account.PrincipalID;
|
||||
if (avatar != null)
|
||||
aCircuit.Appearance = avatar.ToAvatarAppearance(account.PrincipalID);
|
||||
aCircuit.Appearance = new AvatarAppearance(avatar);
|
||||
else
|
||||
aCircuit.Appearance = new AvatarAppearance(account.PrincipalID);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user