diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index e509d4e..fefae9d 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -114,12 +114,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
114 | private Random m_rand; | 114 | private Random m_rand; |
115 | private bool m_suspendUpdates; | 115 | private bool m_suspendUpdates; |
116 | private List<ScenePresence> m_linkedAvatars = new List<ScenePresence>(); | 116 | private List<ScenePresence> m_linkedAvatars = new List<ScenePresence>(); |
117 | private KeyframeMotion m_keyframeMotion = null; | ||
118 | |||
119 | public KeyframeMotion KeyframeMotion | ||
120 | { | ||
121 | get; set; | ||
122 | } | ||
123 | 117 | ||
124 | public bool areUpdatesSuspended | 118 | public bool areUpdatesSuspended |
125 | { | 119 | { |
@@ -726,8 +720,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
726 | child.PhysActor.Selected = value; | 720 | child.PhysActor.Selected = value; |
727 | } | 721 | } |
728 | } | 722 | } |
729 | if (KeyframeMotion != null) | 723 | if (RootPart.KeyframeMotion != null) |
730 | KeyframeMotion.Selected = value; | 724 | RootPart.KeyframeMotion.Selected = value; |
731 | } | 725 | } |
732 | } | 726 | } |
733 | 727 | ||
@@ -1829,11 +1823,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1829 | // Name, UUID, m_scene.RegionInfo.RegionName); | 1823 | // Name, UUID, m_scene.RegionInfo.RegionName); |
1830 | 1824 | ||
1831 | SceneObjectGroup backup_group = Copy(false); | 1825 | SceneObjectGroup backup_group = Copy(false); |
1832 | if (KeyframeMotion != null) | ||
1833 | { | ||
1834 | backup_group.KeyframeMotion = KeyframeMotion.FromData(backup_group, KeyframeMotion.Serialize()); | ||
1835 | KeyframeMotion.UpdateSceneObject(this); | ||
1836 | } | ||
1837 | backup_group.RootPart.Velocity = RootPart.Velocity; | 1826 | backup_group.RootPart.Velocity = RootPart.Velocity; |
1838 | backup_group.RootPart.Acceleration = RootPart.Acceleration; | 1827 | backup_group.RootPart.Acceleration = RootPart.Acceleration; |
1839 | backup_group.RootPart.AngularVelocity = RootPart.AngularVelocity; | 1828 | backup_group.RootPart.AngularVelocity = RootPart.AngularVelocity; |
@@ -1846,6 +1835,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1846 | 1835 | ||
1847 | backup_group.ForEachPart(delegate(SceneObjectPart part) | 1836 | backup_group.ForEachPart(delegate(SceneObjectPart part) |
1848 | { | 1837 | { |
1838 | if (part.KeyframeMotion != null) | ||
1839 | { | ||
1840 | part.KeyframeMotion = KeyframeMotion.FromData(backup_group, part.KeyframeMotion.Serialize()); | ||
1841 | part.KeyframeMotion.UpdateSceneObject(this); | ||
1842 | } | ||
1849 | part.Inventory.ProcessInventoryBackup(datastore); | 1843 | part.Inventory.ProcessInventoryBackup(datastore); |
1850 | }); | 1844 | }); |
1851 | 1845 | ||
@@ -2001,9 +1995,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
2001 | { | 1995 | { |
2002 | if (usePhysics) | 1996 | if (usePhysics) |
2003 | { | 1997 | { |
2004 | if (KeyframeMotion != null) | 1998 | if (RootPart.KeyframeMotion != null) |
2005 | KeyframeMotion.Stop(); | 1999 | RootPart.KeyframeMotion.Stop(); |
2006 | KeyframeMotion = null; | 2000 | RootPart.KeyframeMotion = null; |
2007 | } | 2001 | } |
2008 | UpdatePrimFlags(RootPart.LocalId, usePhysics, IsTemporary, IsPhantom, IsVolumeDetect); | 2002 | UpdatePrimFlags(RootPart.LocalId, usePhysics, IsTemporary, IsPhantom, IsVolumeDetect); |
2009 | } | 2003 | } |