- add physics undo/redo to MoveTool

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8625 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
nor..67 13 years ago
parent 5cf69aa5fd
commit 89aa2b160f
  1. 17
      sdk/jme3-scenecomposer/src/com/jme3/gde/scenecomposer/tools/MoveTool.java

@ -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();
} }
} }
} }

Loading…
Cancel
Save