aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-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 5c283bc..10a186e 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -568,8 +568,8 @@ namespace OpenSim.Region.Framework.Scenes
568 private List<SceneObjectPart> m_PlaySoundSlavePrims = new List<SceneObjectPart>(); 568 private List<SceneObjectPart> m_PlaySoundSlavePrims = new List<SceneObjectPart>();
569 public List<SceneObjectPart> PlaySoundSlavePrims 569 public List<SceneObjectPart> PlaySoundSlavePrims
570 { 570 {
571 get { return m_LoopSoundSlavePrims; } 571 get { return m_PlaySoundSlavePrims; }
572 set { m_LoopSoundSlavePrims = value; } 572 set { m_PlaySoundSlavePrims = value; }
573 } 573 }
574 574
575 private SceneObjectPart m_LoopSoundMasterPrim = null; 575 private SceneObjectPart m_LoopSoundMasterPrim = null;
@@ -2834,29 +2834,59 @@ namespace OpenSim.Region.Framework.Scenes
2834 } 2834 }
2835 } 2835 }
2836 2836
2837// /// <summary>
2838// ///
2839// /// </summary>
2840// /// <param name="remoteClient"></param>
2841// public void SendFullUpdate(IClientAPI remoteClient, uint clientFlags)
2842// {
2843// m_parentGroup.SendPartFullUpdate(remoteClient, this, clientFlags);
2844// }
2845
2846
2837 /// <summary> 2847 /// <summary>
2838 /// 2848 /// Send a full update to the client for the given part
2839 /// </summary> 2849 /// </summary>
2840 /// <param name="remoteClient"></param> 2850 /// <param name="remoteClient"></param>
2841 public void SendFullUpdate(IClientAPI remoteClient, uint clientFlags) 2851 /// <param name="clientFlags"></param>
2852 protected internal void SendFullUpdate(IClientAPI remoteClient, uint clientFlags)
2842 { 2853 {
2843 m_parentGroup.SendPartFullUpdate(remoteClient, this, clientFlags); 2854// m_log.DebugFormat(
2844 } 2855// "[SOG]: Sendinging part full update to {0} for {1} {2}", remoteClient.Name, part.Name, part.LocalId);
2856
2857 if (IsRoot)
2858 {
2859 if (IsAttachment)
2860 {
2861 SendFullUpdateToClient(remoteClient, AttachedPos, clientFlags);
2862 }
2863 else
2864 {
2865 SendFullUpdateToClient(remoteClient, AbsolutePosition, clientFlags);
2866 }
2867 }
2868 else
2869 {
2870 SendFullUpdateToClient(remoteClient, clientFlags);
2871 }
2872 }
2845 2873
2846 /// <summary> 2874 /// <summary>
2847 /// 2875 /// Send a full update for this part to all clients.
2848 /// </summary> 2876 /// </summary>
2849 public void SendFullUpdateToAllClients() 2877 public void SendFullUpdateToAllClients()
2850 { 2878 {
2851 ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences(); 2879 ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences();
2852 for (int i = 0; i < avatars.Length; i++) 2880 for (int i = 0; i < avatars.Length; i++)
2853 { 2881 {
2854 // Ugly reference :( 2882 SendFullUpdate(avatars[i].ControllingClient, avatars[i].GenerateClientFlags(UUID));
2855 m_parentGroup.SendPartFullUpdate(avatars[i].ControllingClient, this,
2856 avatars[i].GenerateClientFlags(UUID));
2857 } 2883 }
2858 } 2884 }
2859 2885
2886 /// <summary>
2887 /// Send a full update to all clients except the one nominated.
2888 /// </summary>
2889 /// <param name="agentID"></param>
2860 public void SendFullUpdateToAllClientsExcept(UUID agentID) 2890 public void SendFullUpdateToAllClientsExcept(UUID agentID)
2861 { 2891 {
2862 ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences(); 2892 ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences();
@@ -2864,10 +2894,7 @@ namespace OpenSim.Region.Framework.Scenes
2864 { 2894 {
2865 // Ugly reference :( 2895 // Ugly reference :(
2866 if (avatars[i].UUID != agentID) 2896 if (avatars[i].UUID != agentID)
2867 { 2897 SendFullUpdate(avatars[i].ControllingClient, avatars[i].GenerateClientFlags(UUID));
2868 m_parentGroup.SendPartFullUpdate(avatars[i].ControllingClient, this,
2869 avatars[i].GenerateClientFlags(UUID));
2870 }
2871 } 2898 }
2872 } 2899 }
2873 2900