private WorldPhysicsState MakePhysicsState() { WorldPhysicsState state = new WorldPhysicsState(); //Add all active objects in the scene foreach (PhysicsObject prm in m_scene.PhysicsScene.ActiveObjects) { state.AddPrim(prm); } #if (!ISWIN) foreach (IScenePresence sp in m_scene.GetScenePresences()) { if (!sp.IsChildAgent) { state.AddAvatar(sp.PhysicsActor); } } #else foreach (IScenePresence sp in m_scene.GetScenePresences().Where(sp => !sp.IsChildAgent)) { state.AddAvatar(sp.PhysicsActor); } #endif return(state); }
public void ResetToLastSavedState() { if (m_lastWorldPhysicsState != null) { m_lastWorldPhysicsState.Reload(m_scene, 1); } m_lastWorldPhysicsState = null; }
public void SavePhysicsState() { m_lastWorldPhysicsState = m_isReversing ? null : MakePhysicsState(); }
public void ResetToLastSavedState() { if (m_lastWorldPhysicsState != null) m_lastWorldPhysicsState.Reload(m_scene, 1); m_lastWorldPhysicsState = null; }
private WorldPhysicsState MakePhysicsState() { WorldPhysicsState state = new WorldPhysicsState(); //Add all active objects in the scene foreach (PhysicsObject prm in m_scene.PhysicsScene.ActiveObjects) { state.AddPrim(prm); } #if (!ISWIN) foreach (IScenePresence sp in m_scene.GetScenePresences()) { if (!sp.IsChildAgent) { state.AddAvatar(sp.PhysicsActor); } } #else foreach (IScenePresence sp in m_scene.GetScenePresences().Where(sp => !sp.IsChildAgent)) { state.AddAvatar(sp.PhysicsActor); } #endif return state; }
public void SavePhysicsState () { if (m_isReversing) m_lastWorldPhysicsState = null; else m_lastWorldPhysicsState = MakePhysicsState (); }