diff options
author | Justin Clark-Casey (justincc) | 2014-04-03 01:14:39 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-04-03 01:14:39 +0100 |
commit | 6ac9c9c97277e510cbe7eb908f3cf7883a01c1c3 (patch) | |
tree | af88d18d76d7212252f8c8215dd42e3e0d2b025e /OpenSim/Region/Framework/Scenes/ScenePresence.cs | |
parent | minor: Fix warning in AvatarFactoryModule (diff) | |
download | opensim-SC_OLD-6ac9c9c97277e510cbe7eb908f3cf7883a01c1c3.zip opensim-SC_OLD-6ac9c9c97277e510cbe7eb908f3cf7883a01c1c3.tar.gz opensim-SC_OLD-6ac9c9c97277e510cbe7eb908f3cf7883a01c1c3.tar.bz2 opensim-SC_OLD-6ac9c9c97277e510cbe7eb908f3cf7883a01c1c3.tar.xz |
refactor: Use m_sittingAvatars to maintain the list of sitting avatars instead of two independent structures that do exactly the same thing
m_sittingAvatars code also already properly handles locking to avoid races.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 6386a45..3d1c58c 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1022,8 +1022,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1022 | } | 1022 | } |
1023 | else | 1023 | else |
1024 | { | 1024 | { |
1025 | part.ParentGroup.AddAvatar(UUID); | 1025 | part.AddSittingAvatar(this); |
1026 | part.AddSittingAvatar(UUID); | ||
1027 | if (part.SitTargetPosition != Vector3.Zero) | 1026 | if (part.SitTargetPosition != Vector3.Zero) |
1028 | part.SitTargetAvatar = UUID; | 1027 | part.SitTargetAvatar = UUID; |
1029 | // ParentPosition = part.GetWorldPosition(); | 1028 | // ParentPosition = part.GetWorldPosition(); |
@@ -2522,7 +2521,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2522 | } | 2521 | } |
2523 | } | 2522 | } |
2524 | 2523 | ||
2525 | part.ParentGroup.DeleteAvatar(UUID); | ||
2526 | Vector3 sitPartWorldPosition = part.GetWorldPosition(); | 2524 | Vector3 sitPartWorldPosition = part.GetWorldPosition(); |
2527 | ControllingClient.SendClearFollowCamProperties(part.ParentUUID); | 2525 | ControllingClient.SendClearFollowCamProperties(part.ParentUUID); |
2528 | 2526 | ||
@@ -2578,7 +2576,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2578 | SendAvatarDataToAllAgents(); | 2576 | SendAvatarDataToAllAgents(); |
2579 | m_requestedSitTargetID = 0; | 2577 | m_requestedSitTargetID = 0; |
2580 | 2578 | ||
2581 | part.RemoveSittingAvatar(UUID); | 2579 | part.RemoveSittingAvatar(this); |
2582 | 2580 | ||
2583 | part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK); | 2581 | part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK); |
2584 | } | 2582 | } |
@@ -2688,7 +2686,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2688 | 2686 | ||
2689 | Velocity = Vector3.Zero; | 2687 | Velocity = Vector3.Zero; |
2690 | 2688 | ||
2691 | part.AddSittingAvatar(UUID); | 2689 | part.AddSittingAvatar(this); |
2692 | 2690 | ||
2693 | cameraAtOffset = part.GetCameraAtOffset(); | 2691 | cameraAtOffset = part.GetCameraAtOffset(); |
2694 | cameraEyeOffset = part.GetCameraEyeOffset(); | 2692 | cameraEyeOffset = part.GetCameraEyeOffset(); |
@@ -2821,7 +2819,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2821 | 2819 | ||
2822 | Velocity = Vector3.Zero; | 2820 | Velocity = Vector3.Zero; |
2823 | 2821 | ||
2824 | part.AddSittingAvatar(UUID); | 2822 | part.AddSittingAvatar(this); |
2825 | 2823 | ||
2826 | Vector3 cameraAtOffset = part.GetCameraAtOffset(); | 2824 | Vector3 cameraAtOffset = part.GetCameraAtOffset(); |
2827 | Vector3 cameraEyeOffset = part.GetCameraEyeOffset(); | 2825 | Vector3 cameraEyeOffset = part.GetCameraEyeOffset(); |
@@ -2836,7 +2834,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2836 | m_pos = offset; | 2834 | m_pos = offset; |
2837 | 2835 | ||
2838 | m_requestedSitTargetID = 0; | 2836 | m_requestedSitTargetID = 0; |
2839 | part.ParentGroup.AddAvatar(UUID); | ||
2840 | 2837 | ||
2841 | ParentPart = part; | 2838 | ParentPart = part; |
2842 | ParentID = part.LocalId; | 2839 | ParentID = part.LocalId; |
@@ -2936,7 +2933,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2936 | // Name, part.AbsolutePosition, m_pos, ParentPosition, part.Name, part.LocalId); | 2933 | // Name, part.AbsolutePosition, m_pos, ParentPosition, part.Name, part.LocalId); |
2937 | } | 2934 | } |
2938 | 2935 | ||
2939 | part.ParentGroup.AddAvatar(UUID); | ||
2940 | ParentPart = m_scene.GetSceneObjectPart(m_requestedSitTargetID); | 2936 | ParentPart = m_scene.GetSceneObjectPart(m_requestedSitTargetID); |
2941 | ParentID = m_requestedSitTargetID; | 2937 | ParentID = m_requestedSitTargetID; |
2942 | m_AngularVelocity = Vector3.Zero; | 2938 | m_AngularVelocity = Vector3.Zero; |