aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs26
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 }