diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 27 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 7 |
2 files changed, 22 insertions, 12 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 8535587..ec37836 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1886,15 +1886,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
1886 | return Vector3.Zero; | 1886 | return Vector3.Zero; |
1887 | } | 1887 | } |
1888 | 1888 | ||
1889 | public void moveToTarget(Vector3 target, float tau) | 1889 | public void MoveToTarget(Vector3 target, float tau) |
1890 | { | 1890 | { |
1891 | if (IsAttachment) | 1891 | if (IsAttachment) |
1892 | { | 1892 | { |
1893 | ScenePresence avatar = m_scene.GetScenePresence(AttachedAvatar); | 1893 | ScenePresence avatar = m_scene.GetScenePresence(AttachedAvatar); |
1894 | |||
1894 | if (avatar != null) | 1895 | if (avatar != null) |
1895 | { | ||
1896 | avatar.MoveToTarget(target, false, false); | 1896 | avatar.MoveToTarget(target, false, false); |
1897 | } | ||
1898 | } | 1897 | } |
1899 | else | 1898 | else |
1900 | { | 1899 | { |
@@ -1909,12 +1908,26 @@ namespace OpenSim.Region.Framework.Scenes | |||
1909 | } | 1908 | } |
1910 | } | 1909 | } |
1911 | 1910 | ||
1912 | public void stopMoveToTarget() | 1911 | public void StopMoveToTarget() |
1913 | { | 1912 | { |
1914 | PhysicsActor pa = RootPart.PhysActor; | 1913 | if (IsAttachment) |
1914 | { | ||
1915 | ScenePresence avatar = m_scene.GetScenePresence(AttachedAvatar); | ||
1915 | 1916 | ||
1916 | if (pa != null) | 1917 | if (avatar != null) |
1917 | pa.PIDActive = false; | 1918 | avatar.ResetMoveToTarget(); |
1919 | } | ||
1920 | else | ||
1921 | { | ||
1922 | PhysicsActor pa = RootPart.PhysActor; | ||
1923 | |||
1924 | if (pa != null && pa.PIDActive) | ||
1925 | { | ||
1926 | pa.PIDActive = false; | ||
1927 | |||
1928 | ScheduleGroupForTerseUpdate(); | ||
1929 | } | ||
1930 | } | ||
1918 | } | 1931 | } |
1919 | 1932 | ||
1920 | /// <summary> | 1933 | /// <summary> |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index c587b2a..c318e53 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -2229,7 +2229,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2229 | { | 2229 | { |
2230 | if (tau > 0) | 2230 | if (tau > 0) |
2231 | { | 2231 | { |
2232 | ParentGroup.moveToTarget(target, tau); | 2232 | ParentGroup.MoveToTarget(target, tau); |
2233 | } | 2233 | } |
2234 | else | 2234 | else |
2235 | { | 2235 | { |
@@ -3279,10 +3279,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3279 | 3279 | ||
3280 | public void StopMoveToTarget() | 3280 | public void StopMoveToTarget() |
3281 | { | 3281 | { |
3282 | ParentGroup.stopMoveToTarget(); | 3282 | ParentGroup.StopMoveToTarget(); |
3283 | |||
3284 | ParentGroup.ScheduleGroupForTerseUpdate(); | ||
3285 | //ParentGroup.ScheduleGroupForFullUpdate(); | ||
3286 | } | 3283 | } |
3287 | 3284 | ||
3288 | public void StoreUndoState() | 3285 | public void StoreUndoState() |