Fixed wire frame processor toggle

This commit is contained in:
Ziver Koc 2020-08-14 00:10:07 +02:00
parent e12cc0bf30
commit 6bdada9846

View file

@ -2,10 +2,12 @@ package se.cookery.gfx.input;
import com.jme3.asset.AssetManager;
import com.jme3.input.controls.ActionListener;
import com.jme3.post.SceneProcessor;
import com.jme3.renderer.ViewPort;
import se.cookery.gfx.util.WireFrameProcessor;
import zutil.log.LogUtil;
import java.util.ArrayList;
import java.util.logging.Logger;
public class WireFrameToggleAction implements ActionListener {
@ -13,6 +15,7 @@ public class WireFrameToggleAction implements ActionListener {
private ViewPort viewPort;
private WireFrameProcessor processor;
private ArrayList<SceneProcessor> tmpProcessorList = new ArrayList<>();
public WireFrameToggleAction(AssetManager assetManager, ViewPort viewPort) {
this.viewPort = viewPort;
@ -25,8 +28,19 @@ public class WireFrameToggleAction implements ActionListener {
if (viewPort.getProcessors().contains(processor)) {
logger.info("Disabling WireFrame processor.");
viewPort.removeProcessor(processor);
for (SceneProcessor proc : tmpProcessorList) {
viewPort.addProcessor(proc);
}
} else {
logger.info("Enabling WireFrame processor.");
tmpProcessorList.clear();
for (SceneProcessor proc : viewPort.getProcessors()) {
tmpProcessorList.add(proc);
}
viewPort.clearProcessors();
viewPort.addProcessor(processor);
}
}