package fr.lyrgard.hexScape.camera;
import com.jme3.app.Application;
import com.jme3.app.state.AbstractAppState;
import com.jme3.app.state.AppStateManager;
public class FlyByCameraAppState extends AbstractAppState {
private FlyByCamera flyByCamera;
private Application app;
public void initialize(AppStateManager stateManager, Application app) {
super.initialize(stateManager, app);
this.app = app;
if (app.getInputManager() != null){
if (this.flyByCamera == null) {
this.flyByCamera = new FlyByCamera(app.getCamera());
}
if (isEnabled()) {
this.flyByCamera.registerWithInput(app.getInputManager());
}
}
}
public void cleanup() {
super.cleanup();
flyByCamera.unregisterInput();
}
@Override
public void setEnabled(boolean enabled) {
if (flyByCamera != null) {
if (enabled) {
this.flyByCamera.registerWithInput(app.getInputManager());
} else {
this.flyByCamera.unregisterInput();
}
}
super.setEnabled(enabled);
}
}