111 lines
3.0 KiB
Java
Executable File
111 lines
3.0 KiB
Java
Executable File
package projectzombie.menu;
|
|
|
|
import gl_engine.vec.Vec2d;
|
|
import projectzombie.Main;
|
|
import projectzombie.display.DisplayRenderUI;
|
|
import projectzombie.entity.EntityParticle;
|
|
import projectzombie.input.types.InputGUI;
|
|
import projectzombie.menu.gui.GUIButton;
|
|
import projectzombie.menu.gui.GUIButtonGroup;
|
|
import projectzombie.menu.gui.GUI;
|
|
import projectzombie.menu.gui.GUISelectableDirection;
|
|
import projectzombie.menu.gui.GUILabel;
|
|
import projectzombie.menu.gui.components.ButtonBasic;
|
|
import projectzombie.menu.gui.components.ButtonSetting;
|
|
import projectzombie.menu.gui.components.GUIBackToMenu;
|
|
import projectzombie.menu.gui.components.OverlayBackground;
|
|
import projectzombie.settings.Settings;
|
|
import projectzombie.world.chunk.Chunk;
|
|
|
|
public class MenuSettings extends Menu
|
|
{
|
|
private GUI gui;
|
|
private Menu menuOld;
|
|
|
|
public MenuSettings(Menu menuOld) {
|
|
|
|
this.menuOld = menuOld;
|
|
|
|
doGameloop = false;
|
|
doGameRender = menuOld.doGameRender;
|
|
showIngameGUI = menuOld.showIngameGUI;
|
|
keepMouse = false;
|
|
|
|
GUIButtonGroup group = new GUIButtonGroup();
|
|
group.setPos(new Vec2d(-1, 4));
|
|
|
|
group.add(new ButtonSetting("FPS: " + (DisplayRenderUI.showFPS ? "On" : "Off"), button -> {
|
|
DisplayRenderUI.showFPS = !DisplayRenderUI.showFPS;
|
|
button.setText("FPS: " + (DisplayRenderUI.showFPS ? "On" : "Off"));
|
|
Settings.update();
|
|
}));
|
|
|
|
group.add(new ButtonSetting("Debug mode: " + (DisplayRenderUI.debug ? "On" : "Off"),
|
|
button ->
|
|
{
|
|
DisplayRenderUI.debug = !DisplayRenderUI.debug;
|
|
button.setText("Debug mode: " + (DisplayRenderUI.debug ? "On" : "Off"));
|
|
Settings.update();
|
|
}));
|
|
|
|
group.add(new ButtonSetting("Render distance: "+Chunk.RENDER_DISTANCE, button -> {
|
|
Chunk.RENDER_DISTANCE += 1;
|
|
if(Chunk.RENDER_DISTANCE > 8) {
|
|
Chunk.RENDER_DISTANCE = 2;
|
|
}
|
|
button.setText("Render distance: "+Chunk.RENDER_DISTANCE);
|
|
Settings.update();
|
|
}));
|
|
|
|
/*group.add(new ButtonSetting("Dynamic Lighting: " + (LightingManager.lightingMode == 0 ? "Fast" : "Fancy"),
|
|
button ->
|
|
{
|
|
if(LightingManager.lightingMode == 0) {
|
|
LightingManager.lightingMode = 1;
|
|
|
|
} else {
|
|
LightingManager.lightingMode = 0;
|
|
}
|
|
|
|
button.setText("Dynamic Lighting: " + (LightingManager.lightingMode == 0 ? "Fast" : "Fancy"));
|
|
}));*/
|
|
|
|
gui = new GUIBackToMenu(menuOld);
|
|
input = new InputGUI(gui);
|
|
|
|
if(doGameRender) {
|
|
gui.add(new OverlayBackground());
|
|
}
|
|
|
|
gui.add(group);
|
|
|
|
GUILabel labelSettings = new GUILabel();
|
|
labelSettings.setText("Settings");
|
|
labelSettings.setSize(new Vec2d(1, 1));
|
|
labelSettings.setPos(new Vec2d(0, 6.8));
|
|
gui.add(labelSettings);
|
|
|
|
GUIButton buttonBack = new ButtonBasic("Back", new Vec2d(0, -8), button -> {
|
|
Main.menu = menuOld;
|
|
});
|
|
|
|
group.get(group.size() - 1).setNeighbour(buttonBack, GUISelectableDirection.DOWN);
|
|
buttonBack.setNeighbour(group.get(group.size() - 1), GUISelectableDirection.UP);
|
|
|
|
gui.add(buttonBack);
|
|
gui.setSelected(buttonBack);
|
|
}
|
|
|
|
@Override
|
|
public void render() {
|
|
gui.render();
|
|
}
|
|
|
|
@Override
|
|
public void update() {
|
|
super.update();
|
|
this.menuOld.update();
|
|
}
|
|
|
|
}
|