SDK:
- fix VehicleCreator camera threading git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8630 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
parent
d95e99ecc0
commit
dde203f347
@ -44,6 +44,7 @@ public final class VehicleCreatorTopComponent extends TopComponent implements Sc
|
|||||||
private boolean testing = false;
|
private boolean testing = false;
|
||||||
DirectionalLight dirLight = new DirectionalLight();
|
DirectionalLight dirLight = new DirectionalLight();
|
||||||
private HelpCtx ctx = new HelpCtx("sdk.vehicle_creator");
|
private HelpCtx ctx = new HelpCtx("sdk.vehicle_creator");
|
||||||
|
private VehicleCreatorCameraController cameraController;
|
||||||
|
|
||||||
public VehicleCreatorTopComponent() {
|
public VehicleCreatorTopComponent() {
|
||||||
initComponents();
|
initComponents();
|
||||||
@ -889,6 +890,8 @@ public final class VehicleCreatorTopComponent extends TopComponent implements Sc
|
|||||||
currentRequest = null;
|
currentRequest = null;
|
||||||
final VehicleEditorController controller = editorController;
|
final VehicleEditorController controller = editorController;
|
||||||
setLoadedScene(null, false);
|
setLoadedScene(null, false);
|
||||||
|
cameraController.disable();
|
||||||
|
cameraController = null;
|
||||||
SceneApplication.getApplication().enqueue(new Callable<Void>() {
|
SceneApplication.getApplication().enqueue(new Callable<Void>() {
|
||||||
|
|
||||||
public Void call() throws Exception {
|
public Void call() throws Exception {
|
||||||
@ -904,6 +907,10 @@ public final class VehicleCreatorTopComponent extends TopComponent implements Sc
|
|||||||
if (request == sentRequest) {
|
if (request == sentRequest) {
|
||||||
currentRequest = request;
|
currentRequest = request;
|
||||||
editorController = newEditorController;
|
editorController = newEditorController;
|
||||||
|
cameraController = new VehicleCreatorCameraController(SceneApplication.getApplication().getCamera(), SceneApplication.getApplication().getInputManager());
|
||||||
|
cameraController.setMaster(this);
|
||||||
|
cameraController.enable();
|
||||||
|
cameraController.setVehicle(request.getRootNode());
|
||||||
setLoadedScene(currentRequest.getDataObject().getNodeDelegate(), true);
|
setLoadedScene(currentRequest.getDataObject().getNodeDelegate(), true);
|
||||||
final VehicleEditorController controller = editorController;
|
final VehicleEditorController controller = editorController;
|
||||||
SceneApplication.getApplication().enqueue(new Callable<Void>() {
|
SceneApplication.getApplication().enqueue(new Callable<Void>() {
|
||||||
|
@ -60,7 +60,6 @@ public class VehicleEditorController implements LookupListener, ActionListener {
|
|||||||
private Result<VehicleWheel> result2;
|
private Result<VehicleWheel> result2;
|
||||||
private List<Geometry> list = new LinkedList<Geometry>();
|
private List<Geometry> list = new LinkedList<Geometry>();
|
||||||
private SceneToolController toolController;
|
private SceneToolController toolController;
|
||||||
private VehicleCreatorCameraController cameraController;
|
|
||||||
private Node toolsNode;
|
private Node toolsNode;
|
||||||
private BulletAppState bulletState;
|
private BulletAppState bulletState;
|
||||||
private boolean testing = false;
|
private boolean testing = false;
|
||||||
@ -107,16 +106,10 @@ public class VehicleEditorController implements LookupListener, ActionListener {
|
|||||||
SceneApplication.getApplication().getInputManager().addMapping("VehicleEditor_Space", new KeyTrigger(KeyInput.KEY_SPACE));
|
SceneApplication.getApplication().getInputManager().addMapping("VehicleEditor_Space", new KeyTrigger(KeyInput.KEY_SPACE));
|
||||||
SceneApplication.getApplication().getInputManager().addMapping("VehicleEditor_Reset", new KeyTrigger(KeyInput.KEY_RETURN));
|
SceneApplication.getApplication().getInputManager().addMapping("VehicleEditor_Reset", new KeyTrigger(KeyInput.KEY_RETURN));
|
||||||
SceneApplication.getApplication().getInputManager().addListener(this, "VehicleEditor_Left", "VehicleEditor_Right", "VehicleEditor_Up", "VehicleEditor_Down", "VehicleEditor_Space", "VehicleEditor_Reset");
|
SceneApplication.getApplication().getInputManager().addListener(this, "VehicleEditor_Left", "VehicleEditor_Right", "VehicleEditor_Up", "VehicleEditor_Down", "VehicleEditor_Space", "VehicleEditor_Reset");
|
||||||
cameraController = new VehicleCreatorCameraController(SceneApplication.getApplication().getCamera(), SceneApplication.getApplication().getInputManager());
|
|
||||||
cameraController.setMaster(this);
|
|
||||||
cameraController.enable();
|
|
||||||
cameraController.setVehicle(rootNode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void cleanupApplication() {
|
public void cleanupApplication() {
|
||||||
SceneApplication.getApplication().getInputManager().removeListener(this);
|
SceneApplication.getApplication().getInputManager().removeListener(this);
|
||||||
cameraController.disable();
|
|
||||||
cameraController = null;
|
|
||||||
SceneApplication.getApplication().getStateManager().detach(getBulletState());
|
SceneApplication.getApplication().getStateManager().detach(getBulletState());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user