aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs55
1 files changed, 41 insertions, 14 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 57635f5..badf782 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -573,8 +573,8 @@ namespace OpenSim.Region.Framework.Scenes
573 private List<SceneObjectPart> m_PlaySoundSlavePrims = new List<SceneObjectPart>(); 573 private List<SceneObjectPart> m_PlaySoundSlavePrims = new List<SceneObjectPart>();
574 public List<SceneObjectPart> PlaySoundSlavePrims 574 public List<SceneObjectPart> PlaySoundSlavePrims
575 { 575 {
576 get { return m_LoopSoundSlavePrims; } 576 get { return m_PlaySoundSlavePrims; }
577 set { m_LoopSoundSlavePrims = value; } 577 set { m_PlaySoundSlavePrims = value; }
578 } 578 }
579 579
580 private SceneObjectPart m_LoopSoundMasterPrim = null; 580 private SceneObjectPart m_LoopSoundMasterPrim = null;
@@ -2842,29 +2842,59 @@ namespace OpenSim.Region.Framework.Scenes
2842 } 2842 }
2843 } 2843 }
2844 2844
2845// /// <summary>
2846// ///
2847// /// </summary>
2848// /// <param name="remoteClient"></param>
2849// public void SendFullUpdate(IClientAPI remoteClient, uint clientFlags)
2850// {
2851// m_parentGroup.SendPartFullUpdate(remoteClient, this, clientFlags);
2852// }
2853
2854
2845 /// <summary> 2855 /// <summary>
2846 /// 2856 /// Send a full update to the client for the given part
2847 /// </summary> 2857 /// </summary>
2848 /// <param name="remoteClient"></param> 2858 /// <param name="remoteClient"></param>
2849 public void SendFullUpdate(IClientAPI remoteClient, uint clientFlags) 2859 /// <param name="clientFlags"></param>
2860 protected internal void SendFullUpdate(IClientAPI remoteClient, uint clientFlags)
2850 { 2861 {
2851 m_parentGroup.SendPartFullUpdate(remoteClient, this, clientFlags); 2862// m_log.DebugFormat(
2852 } 2863// "[SOG]: Sendinging part full update to {0} for {1} {2}", remoteClient.Name, part.Name, part.LocalId);
2864
2865 if (IsRoot)
2866 {
2867 if (IsAttachment)
2868 {
2869 SendFullUpdateToClient(remoteClient, AttachedPos, clientFlags);
2870 }
2871 else
2872 {
2873 SendFullUpdateToClient(remoteClient, AbsolutePosition, clientFlags);
2874 }
2875 }
2876 else
2877 {
2878 SendFullUpdateToClient(remoteClient, clientFlags);
2879 }
2880 }
2853 2881
2854 /// <summary> 2882 /// <summary>
2855 /// 2883 /// Send a full update for this part to all clients.
2856 /// </summary> 2884 /// </summary>
2857 public void SendFullUpdateToAllClients() 2885 public void SendFullUpdateToAllClients()
2858 { 2886 {
2859 ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences(); 2887 ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences();
2860 for (int i = 0; i < avatars.Length; i++) 2888 for (int i = 0; i < avatars.Length; i++)
2861 { 2889 {
2862 // Ugly reference :( 2890 SendFullUpdate(avatars[i].ControllingClient, avatars[i].GenerateClientFlags(UUID));
2863 m_parentGroup.SendPartFullUpdate(avatars[i].ControllingClient, this,
2864 avatars[i].GenerateClientFlags(UUID));
2865 } 2891 }
2866 } 2892 }
2867 2893
2894 /// <summary>
2895 /// Send a full update to all clients except the one nominated.
2896 /// </summary>
2897 /// <param name="agentID"></param>
2868 public void SendFullUpdateToAllClientsExcept(UUID agentID) 2898 public void SendFullUpdateToAllClientsExcept(UUID agentID)
2869 { 2899 {
2870 ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences(); 2900 ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences();
@@ -2872,10 +2902,7 @@ namespace OpenSim.Region.Framework.Scenes
2872 { 2902 {
2873 // Ugly reference :( 2903 // Ugly reference :(
2874 if (avatars[i].UUID != agentID) 2904 if (avatars[i].UUID != agentID)
2875 { 2905 SendFullUpdate(avatars[i].ControllingClient, avatars[i].GenerateClientFlags(UUID));
2876 m_parentGroup.SendPartFullUpdate(avatars[i].ControllingClient, this,
2877 avatars[i].GenerateClientFlags(UUID));
2878 }
2879 } 2906 }
2880 } 2907 }
2881 2908