From 8e7f2d6d0efe37108b2931cfdda36e695830abb0 Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Thu, 15 May 2008 14:39:54 +0000 Subject: refactoring to move AvatarAppearance into Framework and move the appearance sending bits to ScenePresence --- OpenSim/Region/Environment/Scenes/ScenePresence.cs | 24 ++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'OpenSim/Region/Environment/Scenes/ScenePresence.cs') diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 8ac1a77..6f591e8 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs @@ -1461,16 +1461,20 @@ namespace OpenSim.Region.Environment.Scenes SendAppearanceToAllOtherAgents(); } + + public void SetWearable(IClientAPI client, int wearableId, AvatarWearable wearable) + { + m_appearance.SetWearable(wearableId, wearable); + client.SendWearables(m_appearance.Wearables, m_appearance.WearablesSerial++); + } + /// /// /// /// public void SendOwnAppearance() { - m_appearance.SendOwnWearables(ControllingClient); - - // TODO: remove this once the SunModule is slightly more tested - // m_controllingClient.SendViewerTime(m_scene.TimePhase); + ControllingClient.SendWearables(m_appearance.Wearables, m_appearance.WearablesSerial++); } /// @@ -1484,15 +1488,19 @@ namespace OpenSim.Region.Environment.Scenes { if (scenePresence.UUID != UUID) { - m_appearance.SendAppearanceToOtherAgent(scenePresence); + SendAppearanceToOtherAgent(scenePresence); } }); m_scene.AddAgentTime(System.Environment.TickCount - m_perfMonMS); } public void SendAppearanceToOtherAgent(ScenePresence avatar) - { - m_appearance.SendAppearanceToOtherAgent(avatar); + { + avatar.ControllingClient.SendAppearance( + m_appearance.ScenePresenceID, + m_appearance.VisualParams, + m_appearance.TextureEntry.ToBytes() + ); } public void SetAppearance(byte[] texture, List visualParam) @@ -1505,7 +1513,7 @@ namespace OpenSim.Region.Environment.Scenes public void SetWearable(int wearableId, AvatarWearable wearable) { - m_appearance.SetWearable(ControllingClient, wearableId, wearable); + m_appearance.SetWearable(wearableId, wearable); } /// -- cgit v1.1