diff options
author | Marck | 2010-12-12 20:06:23 +0100 |
---|---|---|
committer | Marck | 2010-12-12 20:12:34 +0100 |
commit | 7f0350b98858309d8c6e8b7689c2efdf12ca60b9 (patch) | |
tree | 64847caf1cdd0350d03394dfbf99b9958b861122 | |
parent | Fixed wrong configuration variable names. (diff) | |
download | opensim-SC_OLD-7f0350b98858309d8c6e8b7689c2efdf12ca60b9.zip opensim-SC_OLD-7f0350b98858309d8c6e8b7689c2efdf12ca60b9.tar.gz opensim-SC_OLD-7f0350b98858309d8c6e8b7689c2efdf12ca60b9.tar.bz2 opensim-SC_OLD-7f0350b98858309d8c6e8b7689c2efdf12ca60b9.tar.xz |
Trigger event with flag CHANGED_LINK when agent sits on objects that have not a sit target defined. This fixes Mantis #4692.
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 8 |
2 files changed, 6 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index f87056e..4fcd8f5 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -3251,13 +3251,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
3251 | //} | 3251 | //} |
3252 | } | 3252 | } |
3253 | 3253 | ||
3254 | public void SetAvatarOnSitTarget(UUID avatarID) | ||
3255 | { | ||
3256 | m_sitTargetAvatar = avatarID; | ||
3257 | if (ParentGroup != null) | ||
3258 | ParentGroup.TriggerScriptChangedEvent(Changed.LINK); | ||
3259 | } | ||
3260 | |||
3261 | public void SetAxisRotation(int axis, int rotate) | 3254 | public void SetAxisRotation(int axis, int rotate) |
3262 | { | 3255 | { |
3263 | if (m_parentGroup != null) | 3256 | if (m_parentGroup != null) |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index f64d539..30c9365 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1703,7 +1703,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1703 | } | 1703 | } |
1704 | // Reset sit target. | 1704 | // Reset sit target. |
1705 | if (part.GetAvatarOnSitTarget() == UUID) | 1705 | if (part.GetAvatarOnSitTarget() == UUID) |
1706 | part.SetAvatarOnSitTarget(UUID.Zero); | 1706 | part.SitTargetAvatar = UUID.Zero; |
1707 | if (part.ParentGroup != null) | ||
1708 | part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK); | ||
1707 | 1709 | ||
1708 | m_parentPosition = part.GetWorldPosition(); | 1710 | m_parentPosition = part.GetWorldPosition(); |
1709 | ControllingClient.SendClearFollowCamProperties(part.ParentUUID); | 1711 | ControllingClient.SendClearFollowCamProperties(part.ParentUUID); |
@@ -1807,11 +1809,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
1807 | 1809 | ||
1808 | if (SitTargetisSet && SitTargetUnOccupied) | 1810 | if (SitTargetisSet && SitTargetUnOccupied) |
1809 | { | 1811 | { |
1810 | part.SetAvatarOnSitTarget(UUID); | 1812 | part.SitTargetAvatar = UUID; |
1811 | offset = new Vector3(avSitOffSet.X, avSitOffSet.Y, avSitOffSet.Z); | 1813 | offset = new Vector3(avSitOffSet.X, avSitOffSet.Y, avSitOffSet.Z); |
1812 | sitOrientation = avSitOrientation; | 1814 | sitOrientation = avSitOrientation; |
1813 | autopilot = false; | 1815 | autopilot = false; |
1814 | } | 1816 | } |
1817 | if (part.ParentGroup != null) | ||
1818 | part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK); | ||
1815 | 1819 | ||
1816 | pos = part.AbsolutePosition + offset; | 1820 | pos = part.AbsolutePosition + offset; |
1817 | //if (Math.Abs(part.AbsolutePosition.Z - AbsolutePosition.Z) > 1) | 1821 | //if (Math.Abs(part.AbsolutePosition.Z - AbsolutePosition.Z) > 1) |