Implemented "Finish 1. world" -> Level is adjusted, Toolshop-tutorial is deactivated
Added resetConfirmDialog Fixed minor bugs
This commit is contained in:
@ -15,10 +15,10 @@ public enum PlayerShape {
|
||||
BALL(R.string.playershape_name_ball, R.string.playershape_description_ball,
|
||||
R.drawable.playershapes_ball, new EmptyTask()),
|
||||
CLOCK(R.string.playershape_name_clock, R.string.playershape_description_clock,
|
||||
R.drawable.playershapes_clock, new CollectStarTask(1)),//15
|
||||
R.drawable.playershapes_clock, new CollectStarTask(15)),
|
||||
HYPNO_SPIRAL(R.string.playershape_name_hypno_spiral,
|
||||
R.string.playershape_description_hypno_spiral, R.drawable.playershapes_hypno_spiral,
|
||||
new CollectEnergyTask(1)),//3
|
||||
new CollectEnergyTask(3)),
|
||||
PACMAN(R.string.playershape_name_pacman, R.string.playershape_description_pacman,
|
||||
R.drawable.playershapes_pacman, new CompleteWorldTask(1)),
|
||||
SMILEY(R.string.playershape_name_smiley, R.string.playershape_description_smiley,
|
||||
|
@ -56,16 +56,16 @@ public class LevelManager extends ArrayList<LevelPack> {
|
||||
}
|
||||
}
|
||||
|
||||
public int getTotalCollectedStarCount(){
|
||||
public int getTotalCollectedStarCount() {
|
||||
int count = 0;
|
||||
for(LevelPack levelPack : this)
|
||||
for (LevelPack levelPack : this)
|
||||
count += levelPack.getCollectedStarCount();
|
||||
return count;
|
||||
}
|
||||
|
||||
public int getTotalCollectedEnergyCount(){
|
||||
public int getTotalCollectedEnergyCount() {
|
||||
int count = 0;
|
||||
for(LevelPack levelPack : this)
|
||||
for (LevelPack levelPack : this)
|
||||
count += levelPack.getCollectedEnergyCount();
|
||||
return count;
|
||||
}
|
||||
@ -94,6 +94,20 @@ public class LevelManager extends ArrayList<LevelPack> {
|
||||
}
|
||||
}
|
||||
|
||||
public void finishFirstPack() {
|
||||
LevelPack pack1 = getPackWithId(1);
|
||||
if (pack1 != null) {
|
||||
for (Level level : pack1.getLevels()) {
|
||||
level.setFinished(true);
|
||||
level.setLocked(false);
|
||||
}
|
||||
}
|
||||
LevelPack pack2 = getPackWithId(2);
|
||||
if (pack2 != null) {
|
||||
pack2.setLocked(false);
|
||||
}
|
||||
}
|
||||
|
||||
private Comparator<LevelPack> packComparator = new Comparator<LevelPack>() {
|
||||
@Override
|
||||
public int compare(LevelPack lhs, LevelPack rhs) {
|
||||
|
@ -12,9 +12,11 @@ import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import de.frajul.endlessroll.entities.shapes.PlayerShape;
|
||||
import de.frajul.endlessroll.entities.shapes.Task;
|
||||
import de.frajul.endlessroll.entities.tools.ToolType;
|
||||
import de.frajul.endlessroll.levels.Level;
|
||||
import de.frajul.endlessroll.levels.LevelManager;
|
||||
@ -52,6 +54,8 @@ public class GameActivity extends Activity implements ExceptionHandler, User.LvU
|
||||
private Typeface typeface;
|
||||
private TutorialManager tutorialManager;
|
||||
|
||||
private List<PlayerShape> alreadyUnlockedPlayerShapes = new ArrayList<>();
|
||||
|
||||
private MyGlSurfaceView glSurfaceView;
|
||||
private ScreenFlipper flipper;
|
||||
private PreStartScreen preStartScreen;
|
||||
@ -93,7 +97,10 @@ public class GameActivity extends Activity implements ExceptionHandler, User.LvU
|
||||
|
||||
levelManager = new LevelManager(this, dataStorageHandler);
|
||||
tutorialManager = new TutorialManager(this);
|
||||
tutorialManager.getToolShopTutorial().setFinished(dataStorageHandler.readToolShopTutorialFinished());
|
||||
tutorialManager.getToolShopTutorial()
|
||||
.setFinished(dataStorageHandler.readToolShopTutorialFinished());
|
||||
|
||||
checkForAlreadyUnlockedPlayerShapes();
|
||||
|
||||
this.glSurfaceView = new MyGlSurfaceView(this, new GameRenderer(this));
|
||||
typeface = Typeface.createFromAsset(getAssets(), "fontBaron.ttf");
|
||||
@ -148,6 +155,30 @@ public class GameActivity extends Activity implements ExceptionHandler, User.LvU
|
||||
flipToScreen(Screen.ScreenType.START);
|
||||
}
|
||||
|
||||
public void checkForAlreadyUnlockedPlayerShapes() {
|
||||
alreadyUnlockedPlayerShapes.clear();
|
||||
for (PlayerShape shape : PlayerShape.values()) {
|
||||
Task task = shape.getUnlockTask();
|
||||
task.update(levelManager);
|
||||
if (task.isConditionFulfilled())
|
||||
alreadyUnlockedPlayerShapes.add(shape);
|
||||
}
|
||||
}
|
||||
|
||||
public void showNewFinishedPlayerShapeTasks() {
|
||||
List<PlayerShape> newUnlockedShapes = new ArrayList<>();
|
||||
for (PlayerShape shape : PlayerShape.values()) {
|
||||
Task task = shape.getUnlockTask();
|
||||
task.update(levelManager);
|
||||
if (task.isConditionFulfilled() && !alreadyUnlockedPlayerShapes.contains(shape)) {
|
||||
alreadyUnlockedPlayerShapes.add(shape);
|
||||
newUnlockedShapes.add(shape);
|
||||
}
|
||||
}
|
||||
if (!newUnlockedShapes.isEmpty())
|
||||
onTasksCompleted(newUnlockedShapes);
|
||||
}
|
||||
|
||||
public void onWorldSelected(LevelPack levelPack) {
|
||||
levelsScreen.onLevelPackSelected(levelPack);
|
||||
}
|
||||
@ -158,14 +189,17 @@ public class GameActivity extends Activity implements ExceptionHandler, User.LvU
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLvUp(final int level) {
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
levelupMessage.show(level);
|
||||
}
|
||||
});
|
||||
tutorialManager.onLvUp(user);
|
||||
public void onLvUp(final int level, boolean showLvUpMessage) {
|
||||
dataStorageHandler.writeUserData(user);
|
||||
if (showLvUpMessage) {
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
levelupMessage.show(level);
|
||||
}
|
||||
});
|
||||
tutorialManager.onLvUp(user);
|
||||
}
|
||||
}
|
||||
|
||||
public void onTasksCompleted(final List<PlayerShape> shapes) {
|
||||
@ -178,7 +212,7 @@ public class GameActivity extends Activity implements ExceptionHandler, User.LvU
|
||||
}
|
||||
|
||||
public void showTutorial(final List<BreakPoint> breakPoints) {
|
||||
if(!gameScreen.isLevelFinished()){
|
||||
if (!gameScreen.isLevelFinished()) {
|
||||
gameScreen.setGamePausedWithoutMenu();
|
||||
}
|
||||
runOnUiThread(new Runnable() {
|
||||
|
@ -14,8 +14,6 @@ import de.frajul.endlessroll.entities.collectables.Star;
|
||||
import de.frajul.endlessroll.entities.collision.CollisionManager;
|
||||
import de.frajul.endlessroll.entities.particles.Firework;
|
||||
import de.frajul.endlessroll.entities.particles.ParticleSystem;
|
||||
import de.frajul.endlessroll.entities.shapes.PlayerShape;
|
||||
import de.frajul.endlessroll.entities.shapes.Task;
|
||||
import de.frajul.endlessroll.entities.textures.TexturePack;
|
||||
import de.frajul.endlessroll.entities.tools.ToolType;
|
||||
import de.frajul.endlessroll.levels.Level;
|
||||
@ -198,7 +196,7 @@ public class Game extends Rendering<GameScene> {
|
||||
currentTool = toolType;
|
||||
}
|
||||
|
||||
public void pauseWithoutMenu(){
|
||||
public void pauseWithoutMenu() {
|
||||
gameState = GameState.PAUSED;
|
||||
}
|
||||
|
||||
@ -211,7 +209,7 @@ public class Game extends Rendering<GameScene> {
|
||||
gameState = GameState.PAUSED;
|
||||
}
|
||||
|
||||
public void onGoalMessageKeyBack(){
|
||||
public void onGoalMessageKeyBack() {
|
||||
viewManager.onGoalMessageKeyBack();
|
||||
}
|
||||
|
||||
@ -239,15 +237,6 @@ public class Game extends Rendering<GameScene> {
|
||||
}
|
||||
|
||||
private void onGoalReached() {
|
||||
List<PlayerShape> alreadyUnlockedShapes = new ArrayList<>();
|
||||
for (PlayerShape shape : PlayerShape.values()) {
|
||||
Task task = shape.getUnlockTask();
|
||||
task.update(gameActivity.getLevelManager());
|
||||
if (task.isConditionFulfilled())
|
||||
alreadyUnlockedShapes.add(shape);
|
||||
}
|
||||
|
||||
|
||||
gameState = GameState.LEVEL_FINISHED;
|
||||
if (!level.isFinished())
|
||||
gameActivity.getUser().gainLvFinishedEp();
|
||||
@ -275,15 +264,7 @@ public class Game extends Rendering<GameScene> {
|
||||
database.open();
|
||||
database.writeLevelProgress(level);
|
||||
|
||||
List<PlayerShape> newUnlockedShapes = new ArrayList<>();
|
||||
for (PlayerShape shape : PlayerShape.values()) {
|
||||
Task task = shape.getUnlockTask();
|
||||
task.update(gameActivity.getLevelManager());
|
||||
if (task.isConditionFulfilled() && !alreadyUnlockedShapes.contains(shape))
|
||||
newUnlockedShapes.add(shape);
|
||||
}
|
||||
if (!newUnlockedShapes.isEmpty())
|
||||
gameActivity.onTasksCompleted(newUnlockedShapes);
|
||||
gameActivity.showNewFinishedPlayerShapeTasks();
|
||||
|
||||
Level nextLevel = levelPack.getNextLevel(level);
|
||||
if (nextLevel != null) {
|
||||
|
@ -7,6 +7,7 @@ import android.widget.ToggleButton;
|
||||
|
||||
import de.frajul.endlessroll.R;
|
||||
import de.frajul.endlessroll.main.GameActivity;
|
||||
import de.frajul.endlessroll.views.ResetConfirmDialog;
|
||||
import de.frajul.endlessroll.views.TopBar;
|
||||
|
||||
/**
|
||||
@ -19,6 +20,8 @@ public class SettingsScreen extends Screen<LinearLayout> implements View.OnClick
|
||||
private ToggleButton soundToggle;
|
||||
private Button resetButton;
|
||||
|
||||
private ResetConfirmDialog resetConfirmDialog;
|
||||
|
||||
public SettingsScreen(GameActivity gameActivity) {
|
||||
super(ScreenType.SETTINGS, gameActivity, R.layout.settings);
|
||||
topBar = super.createTopBar(R.id.settings_topbar);
|
||||
@ -26,6 +29,8 @@ public class SettingsScreen extends Screen<LinearLayout> implements View.OnClick
|
||||
soundToggle.setOnClickListener(this);
|
||||
resetButton = (Button) layout.findViewById(R.id.settings_reset);
|
||||
resetButton.setOnClickListener(this);
|
||||
|
||||
resetConfirmDialog = new ResetConfirmDialog(gameActivity, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -37,6 +42,10 @@ public class SettingsScreen extends Screen<LinearLayout> implements View.OnClick
|
||||
|
||||
@Override
|
||||
public void onBackKeyDown() {
|
||||
//ResetButton is disabled if caller is GAME, because shortMenu or GoalMessage would still be visible on next level start
|
||||
if (super.caller == ScreenType.LEVELS || super.caller == ScreenType.GAME) {
|
||||
super.caller = ScreenType.WORLDS;
|
||||
}
|
||||
flipToCaller();
|
||||
}
|
||||
|
||||
@ -45,7 +54,7 @@ public class SettingsScreen extends Screen<LinearLayout> implements View.OnClick
|
||||
if (v.equals(soundToggle)) {
|
||||
gameActivity.getSoundManager().setSoundOn(soundToggle.isChecked());
|
||||
} else if (v.equals(resetButton)) {
|
||||
gameActivity.resetData();
|
||||
resetConfirmDialog.show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,19 +1,17 @@
|
||||
package de.frajul.endlessroll.main.screens;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.graphics.Typeface;
|
||||
import android.support.annotation.IdRes;
|
||||
import android.view.View;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.widget.Button;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.ToggleButton;
|
||||
|
||||
import de.frajul.endlessroll.R;
|
||||
import de.frajul.endlessroll.main.GameActivity;
|
||||
import de.frajul.endlessroll.main.MyGlSurfaceView;
|
||||
import de.frajul.endlessroll.rendering.Rendering;
|
||||
import de.frajul.endlessroll.sqlDatabase.MyDatabase;
|
||||
import de.frajul.endlessroll.views.ExitConfirmDialog;
|
||||
|
||||
/**
|
||||
@ -26,6 +24,7 @@ public class StartScreen extends GLScreen<RelativeLayout> implements View.OnClic
|
||||
private Button play;
|
||||
private Button unlockLevels;
|
||||
private Button gain90EP;
|
||||
private Button finishFirstWorld;
|
||||
private Button toGlTestScreen;
|
||||
private Button settings;
|
||||
|
||||
@ -39,6 +38,7 @@ public class StartScreen extends GLScreen<RelativeLayout> implements View.OnClic
|
||||
play.startAnimation(AnimationUtils.loadAnimation(gameActivity, R.anim.rotate));
|
||||
unlockLevels = createButton(R.id.startscreen_unlock_levels, typeface);
|
||||
gain90EP = createButton(R.id.startscreen_gain_90_ep, typeface);
|
||||
finishFirstWorld = createButton(R.id.startscreen_finish_world_1, typeface);
|
||||
toGlTestScreen = createButton(R.id.startscreen_to_gl_test_screen, typeface);
|
||||
settings = (Button) layout.findViewById(R.id.startscreen_settings);
|
||||
settings.setOnClickListener(this);
|
||||
@ -75,10 +75,27 @@ public class StartScreen extends GLScreen<RelativeLayout> implements View.OnClic
|
||||
gameActivity.flipToScreen(ScreenType.SETTINGS);
|
||||
glView.setCurrentRendering(null);
|
||||
} else if (v.equals(gain90EP)) {
|
||||
gameActivity.getUser().gainEp(90);
|
||||
gameActivity.getUser().gainEp(90, true);
|
||||
} else if (v.equals(unlockLevels)) {
|
||||
gameActivity.getLevelManager().unlockAllLevels();
|
||||
gameActivity.getLevelManager().unlockAllPacks();
|
||||
MyDatabase database = gameActivity.getDataStorageHandler().getDatabase();
|
||||
database.open();
|
||||
database.writeAllLevelAndPackStatus(gameActivity.getLevelManager());
|
||||
database.close();
|
||||
} else if (v.equals(finishFirstWorld)) {
|
||||
gameActivity.resetData();
|
||||
gameActivity.getUser().gainEp(320, false);
|
||||
gameActivity.getLevelManager().finishFirstPack();
|
||||
gameActivity.showNewFinishedPlayerShapeTasks();
|
||||
gameActivity.getTutorialManager().getToolShopTutorial().setFinished(true);
|
||||
|
||||
gameActivity.getDataStorageHandler().writeUserData(gameActivity.getUser());
|
||||
gameActivity.getDataStorageHandler().writeToolShopTutorialFinished(true);
|
||||
MyDatabase database = gameActivity.getDataStorageHandler().getDatabase();
|
||||
database.open();
|
||||
database.writeAllLevelAndPackStatus(gameActivity.getLevelManager());
|
||||
database.close();
|
||||
} else if (v.equals(toGlTestScreen))
|
||||
gameActivity.flipToScreen(ScreenType.GL_TEST);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@ import de.frajul.endlessroll.entities.tools.ToolType;
|
||||
import de.frajul.endlessroll.main.DataStorageHandler;
|
||||
import de.frajul.endlessroll.main.GameActivity;
|
||||
import de.frajul.endlessroll.main.tutorial.ToolShopTutorial;
|
||||
import de.frajul.endlessroll.user.LevelUpBounties;
|
||||
import de.frajul.endlessroll.user.ToolSlotSettings;
|
||||
import de.frajul.endlessroll.views.ToolInspector;
|
||||
import de.frajul.endlessroll.views.ToolOfferSlot;
|
||||
@ -98,7 +97,8 @@ public class ToolShopScreen extends Screen<RelativeLayout> implements View.OnCli
|
||||
toolSlotView.setImageResource(toolSlot.getDrawable());
|
||||
}
|
||||
for (ToolOfferSlot toolOfferSlot : toolOfferSlots) {
|
||||
boolean locked = gameActivity.getUser().getLevelUpBounties().isToolLocked(toolOfferSlot.getToolType());
|
||||
boolean locked = gameActivity.getUser().getLevelUpBounties()
|
||||
.isToolLocked(toolOfferSlot.getToolType());
|
||||
toolOfferSlot.setLocked(locked);
|
||||
toolOfferSlot.updateBackgroundColor();
|
||||
}
|
||||
@ -110,6 +110,7 @@ public class ToolShopScreen extends Screen<RelativeLayout> implements View.OnCli
|
||||
gameActivity.getUser().increaseStarCount(-price, false);
|
||||
topBar.update();
|
||||
DataStorageHandler dataStorageHandler = gameActivity.getDataStorageHandler();
|
||||
dataStorageHandler.writeUserData(gameActivity.getUser());
|
||||
dataStorageHandler.getDatabase().open();
|
||||
dataStorageHandler.getDatabase().writeToolData();
|
||||
dataStorageHandler.getDatabase().close();
|
||||
@ -124,6 +125,7 @@ public class ToolShopScreen extends Screen<RelativeLayout> implements View.OnCli
|
||||
gameActivity.getUser().increaseEnergyCount(-price, false);
|
||||
topBar.update();
|
||||
DataStorageHandler dataStorageHandler = gameActivity.getDataStorageHandler();
|
||||
dataStorageHandler.writeUserData(gameActivity.getUser());
|
||||
dataStorageHandler.getDatabase().open();
|
||||
dataStorageHandler.getDatabase().writeToolData();
|
||||
dataStorageHandler.getDatabase().close();
|
||||
@ -139,6 +141,8 @@ public class ToolShopScreen extends Screen<RelativeLayout> implements View.OnCli
|
||||
|
||||
private void onToolEquipped(int index) {
|
||||
slotSettings.changeToolSlotType(index, selectedToolOfferSlot.getToolType());
|
||||
DataStorageHandler dataStorageHandler = gameActivity.getDataStorageHandler();
|
||||
dataStorageHandler.writeUserData(gameActivity.getUser());
|
||||
for (int i = 0; i < toolSlotViews.size(); i++) {
|
||||
ToolSlot toolSlot = slotSettings.get(i);
|
||||
ImageView view = toolSlotViews.get(i);
|
||||
@ -147,9 +151,9 @@ public class ToolShopScreen extends Screen<RelativeLayout> implements View.OnCli
|
||||
tutorial.onToolEquipped();
|
||||
}
|
||||
|
||||
public void stopTutorialAnimations(){
|
||||
public void stopTutorialAnimations() {
|
||||
for (ToolOfferSlot toolOfferSlot : toolOfferSlots)
|
||||
if(toolOfferSlot.getToolType() == ToolType.SPRING)
|
||||
if (toolOfferSlot.getToolType() == ToolType.SPRING)
|
||||
toolOfferSlot.getLayout().clearAnimation();
|
||||
|
||||
toolInspector.clearPriceButtonAnimation();
|
||||
@ -157,21 +161,21 @@ public class ToolShopScreen extends Screen<RelativeLayout> implements View.OnCli
|
||||
toolSlotViews.get(0).clearAnimation();
|
||||
}
|
||||
|
||||
public void tutorialStartSpringOfferSlotPulse(){
|
||||
public void tutorialStartSpringOfferSlotPulse() {
|
||||
for (ToolOfferSlot toolOfferSlot : toolOfferSlots)
|
||||
if(toolOfferSlot.getToolType() == ToolType.SPRING)
|
||||
if (toolOfferSlot.getToolType() == ToolType.SPRING)
|
||||
toolOfferSlot.getLayout().startAnimation(pulse);
|
||||
}
|
||||
|
||||
public void tutorialStartSpringBuyButtonPulse(){
|
||||
public void tutorialStartSpringBuyButtonPulse() {
|
||||
toolInspector.startPriceButtonAnimation(pulse);
|
||||
}
|
||||
|
||||
public void tutorialStartSpringToolSlotPulse(){
|
||||
toolSlotViews.get(0).startAnimation(pulse);
|
||||
public void tutorialStartSpringToolSlotPulse() {
|
||||
toolSlotViews.get(0).startAnimation(pulse);
|
||||
}
|
||||
|
||||
public void writeToolShopTutorialIsFinished(){
|
||||
public void writeToolShopTutorialIsFinished() {
|
||||
gameActivity.getDataStorageHandler().writeToolShopTutorialFinished(true);
|
||||
}
|
||||
|
||||
@ -179,7 +183,6 @@ public class ToolShopScreen extends Screen<RelativeLayout> implements View.OnCli
|
||||
@Override
|
||||
public void onBackKeyDown() {
|
||||
stopTutorialAnimations();
|
||||
gameActivity.getDataStorageHandler().writeUserData(gameActivity.getUser());
|
||||
flipToCaller();
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
package de.frajul.endlessroll.main.tutorial;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import de.frajul.endlessroll.entities.tools.ToolType;
|
||||
import de.frajul.endlessroll.main.GameActivity;
|
||||
import de.frajul.endlessroll.main.screens.Screen;
|
||||
@ -16,12 +18,14 @@ public class ToolShopTutorial {
|
||||
private GameActivity gameActivity;
|
||||
private LevelUpBounties levelUpBounties;
|
||||
|
||||
private BreakPoint springEquipped;
|
||||
private ToolShopScreen toolShopScreen;
|
||||
private boolean finished = false;
|
||||
|
||||
public ToolShopTutorial(GameActivity gameActivity) {
|
||||
public ToolShopTutorial(GameActivity gameActivity, BreakPoint springEquipped) {
|
||||
this.gameActivity = gameActivity;
|
||||
levelUpBounties = new LevelUpBounties(0);
|
||||
this.springEquipped = springEquipped;
|
||||
}
|
||||
|
||||
public void setToolShopScreen(ToolShopScreen toolShopScreen) {
|
||||
@ -49,10 +53,11 @@ public class ToolShopTutorial {
|
||||
}
|
||||
|
||||
public void onToolEquipped() {
|
||||
if (toolShopScreen.getSelectedToolType() == ToolType.SPRING) {
|
||||
if (!finished && toolShopScreen.getSelectedToolType() == ToolType.SPRING) {
|
||||
toolShopScreen.stopTutorialAnimations();
|
||||
finished = true;
|
||||
toolShopScreen.writeToolShopTutorialIsFinished();
|
||||
gameActivity.showTutorial(Arrays.asList(springEquipped));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -21,6 +21,12 @@ public class Tutorial {
|
||||
this.breakPoints = Arrays.asList(breakPoints);
|
||||
}
|
||||
|
||||
public void setFinished() {
|
||||
for (BreakPoint breakPoint : breakPoints)
|
||||
breakPoint.setAlreadyShown(true);
|
||||
currentBreakPoints.clear();
|
||||
}
|
||||
|
||||
public void reset() {
|
||||
for (BreakPoint breakPoint : breakPoints)
|
||||
breakPoint.setAlreadyShown(false);
|
||||
|
@ -39,10 +39,12 @@ public class TutorialManager {
|
||||
toToolShopTutorial = new Tutorial(gameActivity,
|
||||
new BreakPoint(BreakPoint.NONE_X, R.string.tutorial_leveled_up_to_toolshop,
|
||||
R.drawable.tutorial_to_toolshop));
|
||||
toolShopTutorial = new ToolShopTutorial(gameActivity);
|
||||
toolShopTutorial = new ToolShopTutorial(gameActivity,
|
||||
new BreakPoint(BreakPoint.NONE_X, R.string.tutorial_spring_equipped, -1));
|
||||
switchToolsTutorial = new Tutorial(gameActivity,
|
||||
new BreakPoint(0, R.string.tutorial_switch_tools_two_neccessary, -1),
|
||||
new BreakPoint(0, R.string.tutorial_switch_tools_switch, R.drawable.tutorial_switch_tools));
|
||||
new BreakPoint(0, R.string.tutorial_switch_tools_switch,
|
||||
R.drawable.tutorial_switch_tools));
|
||||
}
|
||||
|
||||
public void update(Level level, float playerProgress) {
|
||||
|
@ -6,6 +6,7 @@ import android.database.Cursor;
|
||||
|
||||
import de.frajul.endlessroll.entities.tools.ToolType;
|
||||
import de.frajul.endlessroll.levels.Level;
|
||||
import de.frajul.endlessroll.levels.LevelManager;
|
||||
import de.frajul.endlessroll.levels.LevelPack;
|
||||
|
||||
/**
|
||||
@ -55,6 +56,15 @@ public class MyDatabase extends DatabaseAdapter {
|
||||
super.update(levelPackTable, values, levelPackIdColumn, levelPack.getId());
|
||||
}
|
||||
|
||||
public void writeAllLevelAndPackStatus(LevelManager levelManager){
|
||||
for(LevelPack levelPack : levelManager){
|
||||
writeLevelPackLocked(levelPack);
|
||||
for(Level level: levelPack.getLevels()){
|
||||
writeLevelProgress(level);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void readLevelPackLocked(LevelPack levelPack) {
|
||||
Cursor cursor = super.getCursor(levelPackTable, levelPackIdColumn, levelPack.getId());
|
||||
if (cursor.moveToFirst()) {
|
||||
|
@ -8,7 +8,7 @@ import de.frajul.endlessroll.entities.shapes.PlayerShape;
|
||||
public class User {
|
||||
|
||||
public interface LvUpListener {
|
||||
public void onLvUp(int level);
|
||||
public void onLvUp(int level, boolean showLvUpMessage);
|
||||
}
|
||||
|
||||
private final int LV_DONE_EP = 20;
|
||||
@ -53,8 +53,8 @@ public class User {
|
||||
|
||||
public void increaseStarCount(int starCount, boolean gainEp) {
|
||||
this.starCount += starCount;
|
||||
if(gainEp)
|
||||
gainEp(STAR_EP * starCount);
|
||||
if (gainEp)
|
||||
gainEp(STAR_EP * starCount, true);
|
||||
}
|
||||
|
||||
public void onEnergyCollected() {
|
||||
@ -63,23 +63,23 @@ public class User {
|
||||
|
||||
public void increaseEnergyCount(int energyCount, boolean gainEp) {
|
||||
this.energyCount += energyCount;
|
||||
if(gainEp)
|
||||
gainEp(ENERGY_EP * energyCount);
|
||||
if (gainEp)
|
||||
gainEp(ENERGY_EP * energyCount, true);
|
||||
}
|
||||
|
||||
public void gainLvFinishedEp() {
|
||||
gainEp(LV_DONE_EP);
|
||||
gainEp(LV_DONE_EP, true);
|
||||
}
|
||||
|
||||
public void gainEp(int amount) {
|
||||
public void gainEp(int amount, boolean showLvUpMessage) {
|
||||
ep += amount;
|
||||
if (ep >= 100) {
|
||||
while (ep >= 100) {
|
||||
ep -= 100;
|
||||
levelUp();
|
||||
levelUp(showLvUpMessage);
|
||||
}
|
||||
}
|
||||
|
||||
private void levelUp() {
|
||||
private void levelUp(boolean showLvUpMessage) {
|
||||
level++;
|
||||
levelUpBounties.loadAllForLevel(level);
|
||||
|
||||
@ -89,7 +89,7 @@ public class User {
|
||||
increaseStarCount(bounty.getStarCount(), false);
|
||||
increaseEnergyCount(bounty.getEnergyCount(), false);
|
||||
}
|
||||
lvUpListener.onLvUp(level);
|
||||
lvUpListener.onLvUp(level, showLvUpMessage);
|
||||
}
|
||||
|
||||
public int getEp() {
|
||||
|
@ -0,0 +1,55 @@
|
||||
package de.frajul.endlessroll.views;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import de.frajul.endlessroll.R;
|
||||
import de.frajul.endlessroll.main.GameActivity;
|
||||
import de.frajul.endlessroll.main.screens.SettingsScreen;
|
||||
|
||||
/**
|
||||
* Created by Julian on 31.10.2017.
|
||||
*/
|
||||
|
||||
public class ResetConfirmDialog extends Dialog implements View.OnClickListener {
|
||||
|
||||
private GameActivity gameActivity;
|
||||
private SettingsScreen settingsScreen;
|
||||
private Button yesButton;
|
||||
private Button noButton;
|
||||
|
||||
public ResetConfirmDialog(GameActivity gameActivity, SettingsScreen settingsScreen) {
|
||||
super(gameActivity);
|
||||
this.gameActivity = gameActivity;
|
||||
this.settingsScreen = settingsScreen;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
setContentView(R.layout.exit_confirm_dialog);
|
||||
TextView textView = (TextView) findViewById(R.id.exit_confirm_dialog_textview);
|
||||
textView.setTypeface(gameActivity.getTypeface());
|
||||
textView.setText(R.string.reset_dialog_question);
|
||||
noButton = (Button) findViewById(R.id.exit_confirm_dialog_no_button);
|
||||
noButton.setTypeface(gameActivity.getTypeface());
|
||||
noButton.setOnClickListener(this);
|
||||
yesButton = (Button) findViewById(R.id.exit_confirm_dialog_yes_button);
|
||||
yesButton.setTypeface(gameActivity.getTypeface());
|
||||
yesButton.setOnClickListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
dismiss();
|
||||
if (v.equals(yesButton)) {
|
||||
gameActivity.resetData();
|
||||
settingsScreen.prepareToBeShown();
|
||||
}
|
||||
}
|
||||
}
|
@ -47,6 +47,18 @@
|
||||
android:text="@string/start_screen_gain_90_ep"
|
||||
android:visibility="visible"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/startscreen_finish_world_1"
|
||||
style="@style/GameButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_margin="10dp"
|
||||
android:text="@string/start_screen_finish_world_1"
|
||||
android:visibility="visible"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/startscreen_to_gl_test_screen"
|
||||
style="@style/GameButton"
|
||||
|
@ -30,6 +30,7 @@
|
||||
<string name="start_screen_play">Play</string>
|
||||
<string name="start_screen_unlock_all_levels">Unlock all levels (Yes! It\'s magic!)</string>
|
||||
<string name="start_screen_gain_90_ep">Gain 90 ep (Nope! No magic at all!)</string>
|
||||
<string name="start_screen_finish_world_1">Finish the first world!</string>
|
||||
<string name="start_screen_to_gl_test_screen">Test GL Stuff!!!</string>
|
||||
<string name="tool_upgrade_title_placeholder">Time (Lv12)</string>
|
||||
<string name="topbar_level_placeholder">Level: 24</string>
|
||||
@ -97,6 +98,7 @@
|
||||
<string name="exit_confirm_dialog_yes">Yes</string>
|
||||
<string name="exit_confirm_dialog_no">No</string>
|
||||
<string name="exit_confirm_dialog_question">Do you really want to exit the game?</string>
|
||||
<string name="reset_dialog_question">Do you really want to reset ALL your progress?</string>
|
||||
|
||||
<string name="tutorial_placeholder">This is a multiline placeholder\nfor all the tutorials I made!!!\nAwesome! - Isn\'t it?</string>
|
||||
<string name="tutorial_welcome">Welcome to Endless Roll!\nHave fun!</string>
|
||||
@ -106,6 +108,7 @@
|
||||
<string name="tutorial_place_ramp_air">You can even set a Tool in mid-air.\nTime carefully!</string>
|
||||
<string name="tutorial_place_ramp_air_2">Now try again!</string>
|
||||
<string name="tutorial_leveled_up_to_toolshop">Congratulations! You have leveled up!\nNow go to the toolshop</string>
|
||||
<string name="tutorial_spring_equipped">Well done! Now you can start the next level</string>
|
||||
<string name="tutorial_switch_tools_two_neccessary">For this level you will need two tools equipped</string>
|
||||
<string name="tutorial_switch_tools_switch">To select a tool just click on it</string>
|
||||
<string name="tutorial_toolshop_welcome">Welcome to the toolshop!\nHere you can buy and upgrade all tools and you can customize your toolbar.</string>
|
||||
|
Reference in New Issue
Block a user