- add physics undo/redo to MoveTool

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8625 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
nor..67 2011-11-10 00:52:12 +00:00
parent 5cf69aa5fd
commit 89aa2b160f

View File

@ -169,14 +169,29 @@ public class MoveTool extends SceneEditTool {
@Override @Override
public void sceneUndo() { public void sceneUndo() {
spatial.setLocalTranslation(before); spatial.setLocalTranslation(before);
RigidBodyControl control = toolController.getSelectedSpatial().getControl(RigidBodyControl.class);
if (control != null) {
control.setPhysicsLocation(toolController.getSelectedSpatial().getWorldTranslation());
}
CharacterControl character = toolController.getSelectedSpatial().getControl(CharacterControl.class);
if (character != null) {
character.setPhysicsLocation(toolController.getSelectedSpatial().getWorldTranslation());
}
toolController.selectedSpatialTransformed(); toolController.selectedSpatialTransformed();
} }
@Override @Override
public void sceneRedo() { public void sceneRedo() {
spatial.setLocalTranslation(after); spatial.setLocalTranslation(after);
RigidBodyControl control = toolController.getSelectedSpatial().getControl(RigidBodyControl.class);
if (control != null) {
control.setPhysicsLocation(toolController.getSelectedSpatial().getWorldTranslation());
}
CharacterControl character = toolController.getSelectedSpatial().getControl(CharacterControl.class);
if (character != null) {
character.setPhysicsLocation(toolController.getSelectedSpatial().getWorldTranslation());
}
toolController.selectedSpatialTransformed(); toolController.selectedSpatialTransformed();
} }
} }
} }