diff --git a/core/src/se/cookery/gfx/input/WireFrameToggleAction.java b/core/src/se/cookery/gfx/input/WireFrameToggleAction.java index d6a70af..2d8bc95 100644 --- a/core/src/se/cookery/gfx/input/WireFrameToggleAction.java +++ b/core/src/se/cookery/gfx/input/WireFrameToggleAction.java @@ -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 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); } }