package sagittarius.view; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.utils.ActorGestureListener; import com.badlogic.gdx.utils.Align; import com.kotcrab.vis.ui.VisUI; import com.kotcrab.vis.ui.widget.VisCheckBox; import com.kotcrab.vis.ui.widget.VisTable; import com.kotcrab.vis.ui.widget.VisTextButton; import com.kotcrab.vis.ui.widget.spinner.SimpleFloatSpinnerModel; import com.kotcrab.vis.ui.widget.spinner.Spinner; import sagittarius.SagittariusGame; public class SettingsScreen extends BaseScreen { @Override public void initialize() { Gdx.input.setInputProcessor(uiStage); // Table creation VisTable table = new VisTable(true); table.setFillParent(true); uiStage.addActor(table); // G constant field Spinner gConstField = new Spinner("G constant:", new SimpleFloatSpinnerModel(SagittariusGame.G, 1f, 500f, 0.5f, 3)); // dubug mode checkbox VisCheckBox debugModeBox = new VisCheckBox("debug mode"); debugModeBox.setChecked(SagittariusGame.debugMode); // Change volume of the music Spinner musicVolume= new Spinner("Music Volume:", new SimpleFloatSpinnerModel(SagittariusGame.music.getVolume(), 0f, 1.0f, 0.01f, 3)); // save button VisTextButton saveButton = new VisTextButton("Save"); saveButton.addListener(new ActorGestureListener() { @Override public void tap(InputEvent event, float x, float y, int count, int button) { super.tap(event, x, y, count, button); SagittariusGame.G = Float.parseFloat(gConstField.getTextField().getText()); SagittariusGame.music.setVolume(Float.parseFloat(musicVolume.getTextField().getText())); SagittariusGame.debugMode = debugModeBox.isChecked(); } }); // go back button VisTextButton returnButton = new VisTextButton("Go Back"); returnButton.addListener(new ActorGestureListener() { @Override public void tap(InputEvent event, float x, float y, int count, int button) { super.tap(event, x, y, count, button); SagittariusGame.setActiveScreen( new StartScreen() ); } }); // Table structure table.add(gConstField).width(250); table.row(); table.add(musicVolume).width(250); table.row(); table.add(debugModeBox).align(Align.left); table.row(); table.add(saveButton).width(250); table.row(); table.add(returnButton).width(250); } @Override public void update(float dt) {} @Override public void dispose() { VisUI.dispose(); super.dispose(); } }