Просмотр исходного кода

SDK:
- add physics undo/redo to MoveTool

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8625 75d07b2b-3a1a-0410-a2c5-0572b91ccdca

nor..67 14 лет назад
Родитель
Сommit
23c2644afb

+ 16 - 1
jme3-scenecomposer/src/com/jme3/gde/scenecomposer/tools/MoveTool.java

@@ -169,14 +169,29 @@ public class MoveTool extends SceneEditTool {
         @Override
         public void sceneUndo() {
             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();
         }
 
         @Override
         public void sceneRedo() {
             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();
         }
-        
     }
 }