86 lines
2.8 KiB
Java
86 lines
2.8 KiB
Java
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();
|
|
}
|
|
|
|
} |