Skip to content
Snippets Groups Projects
Commit bb7d4fe9 authored by Haakon Gunleiksrud's avatar Haakon Gunleiksrud
Browse files

#32 Tried to add a lambda expression to OptionState for a general checkbox maker.

parent 72106186
No related branches found
No related tags found
1 merge request!26Resolve "Options-functionality"
......@@ -2,6 +2,8 @@ package com.gameware.game.states;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.scenes.scene2d.Event;
import com.badlogic.gdx.scenes.scene2d.EventListener;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.CheckBox;
......@@ -39,10 +41,20 @@ public class OptionsState extends State {
table.setFillParent(true);
//To do learn more about lambda expressions and make a general check box maker method, which takes in a listener.
//TODO: Make the functional interfaces work.
table.row();
table.add(makeLabel(musicToggleLabelText,skin));
table.add(makeMusicCheckBox(skin));
table.add(makeMusicCheckBox(skin, new checkBoxInterface() {
@Override
public boolean handle(Event event) {
new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y){ GameWare.toggleMusic(); }
};
return false;
}
}));
table.row();
table.add(makeLabel(soundEffectToggleLabelText,skin));
......@@ -102,12 +114,15 @@ public class OptionsState extends State {
return label;
}
private CheckBox makeMusicCheckBox(Skin skin){
private CheckBox makeMusicCheckBox(Skin skin, checkBoxInterface obj){
CheckBox musicToggle = new CheckBox("",skin);
/*
musicToggle.addListener(new ClickListener() {
@Override
public void clicked(InputEvent e, float x, float y){ GameWare.toggleMusic(); }
});
*/
musicToggle.addListener((EventListener) obj);
return musicToggle;
}
......@@ -115,7 +130,7 @@ public class OptionsState extends State {
CheckBox soundEffectToggle = new CheckBox("",skin);
soundEffectToggle.addListener(new ClickListener() {
@Override
public void clicked(InputEvent e, float x, float y){ GameWare.toggleMusic(); }
public void clicked(InputEvent e, float x, float y){ GameWare.toggleSoundEffects(); }
});
return soundEffectToggle;
}
......@@ -124,11 +139,15 @@ public class OptionsState extends State {
CheckBox darkModeToggle = new CheckBox("",skin);
darkModeToggle.addListener(new ClickListener() {
@Override
public void clicked(InputEvent e, float x, float y){ GameWare.toggleMusic(); }
public void clicked(InputEvent e, float x, float y){ GameWare.toggleDarkMode(); }
});
return darkModeToggle;
}
public interface checkBoxInterface extends EventListener{
}
private void backBtnClick(){
gsm.set(new MenuState(gsm));
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment