Added settings screen, even if the look has to be polished and new items have to be added

The toolshop-button and the settings-button in the topBar now consist of icons (no text). Bad thing is, that the 'disabled' state doesn't look that good
Every screen is given its caller when flipped to. At OnBackKeyDown you can now either 'flipToCaller()' or 'flipToPreviousScreenInTree()' or as you wish...
This commit is contained in:
=
2017-09-10 15:10:40 +02:00
parent 74b73bb143
commit bd38883299
22 changed files with 1080 additions and 964 deletions

View File

@ -24,7 +24,7 @@ public class GLTestScreen extends GLScreen<RelativeLayout> {
@Override
public void prepareToBeShown() {
glView.setCurrentRendering(rendering);
flipToCaller();
}
@Override

View File

@ -0,0 +1,51 @@
package de.frajul.endlessroll.main.screens;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ToggleButton;
import de.frajul.endlessroll.R;
import de.frajul.endlessroll.main.GameActivity;
import de.frajul.endlessroll.views.TopBar;
/**
* Created by Julian on 10.09.2017.
*/
public class SettingsScreen extends Screen<LinearLayout> implements View.OnClickListener {
private TopBar topBar;
private ToggleButton soundToggle;
private Button resetButton;
public SettingsScreen(GameActivity gameActivity) {
super(ScreenType.SETTINGS, gameActivity, R.layout.settings);
topBar = super.createTopBar(R.id.settings_topbar);
soundToggle = (ToggleButton) layout.findViewById(R.id.settings_soundtoggle);
soundToggle.setOnClickListener(this);
resetButton = (Button) layout.findViewById(R.id.settings_reset);
resetButton.setOnClickListener(this);
}
@Override
public void prepareToBeShown() {
topBar.update();
soundToggle.setChecked(gameActivity.getSoundManager().isSoundOn());
resetButton.setEnabled(super.caller != ScreenType.GAME);
}
@Override
public void onBackKeyDown() {
flipToCaller();
}
@Override
public void onClick(View v) {
if (v.equals(soundToggle)) {
gameActivity.getSoundManager().setSoundOn(soundToggle.isChecked());
} else if (v.equals(resetButton)) {
gameActivity.resetData();
}
}
}