Bläddra i källkod

- cleanup BulletAppState startPhysics/stopPhysics

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10405 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
nor..67 12 år sedan
förälder
incheckning
fe20cbb55f
1 ändrade filer med 18 tillägg och 10 borttagningar
  1. 18 10
      engine/src/bullet-common/com/jme3/bullet/BulletAppState.java

+ 18 - 10
engine/src/bullet-common/com/jme3/bullet/BulletAppState.java

@@ -154,6 +154,9 @@ public class BulletAppState implements AppState, PhysicsTickListener {
      * start it before for some reason, you can use this method.
      */
     public void startPhysics() {
+        if (initialized) {
+            return;
+        }
         //start physics thread(pool)
         if (threadingType == ThreadingType.PARALLEL) {
             startPhysicsOnExecutor();
@@ -163,13 +166,24 @@ public class BulletAppState implements AppState, PhysicsTickListener {
         pSpace.addTickListener(this);
         initialized = true;
     }
+    
+    public void stopPhysics() {
+        if(!initialized){
+            return;
+        }
+        if (executor != null) {
+            executor.shutdown();
+            executor = null;
+        }
+        pSpace.removeTickListener(this);
+        pSpace.destroy();
+        initialized = false;
+    }
 
     public void initialize(AppStateManager stateManager, Application app) {
-        if (!initialized) {
-            startPhysics();
-        }
         this.app = app;
         this.stateManager = stateManager;
+        startPhysics();
     }
 
     public boolean isInitialized() {
@@ -263,13 +277,7 @@ public class BulletAppState implements AppState, PhysicsTickListener {
             stateManager.detach(debugAppState);
             debugAppState = null;
         }
-        if (executor != null) {
-            executor.shutdown();
-            executor = null;
-        }
-        initialized = false;
-        pSpace.removeTickListener(this);
-        pSpace.destroy();
+        stopPhysics();
     }
 
     /**