diff --git a/core/src/controller/Controller.java b/core/src/controller/Controller.java index 052ef57..1adea0a 100644 --- a/core/src/controller/Controller.java +++ b/core/src/controller/Controller.java @@ -41,7 +41,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ int levelAmount; SpriteBatch batch; Timer stepTimer; - Level level; + Level[] level; int currentLevel; OrthographicCamera camera; @@ -69,29 +69,33 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ viewport.apply(); camera.position.set(GAME_WORLD_WIDTH/2, GAME_WORLD_HEIGHT/2, 0); + level = new Level[10]; + currentLevel = 0; + level[0] = new Level(new Goal(500,200,150,50, 0.2f), new Projectile(0,0,0),200,200); + stepTimer = new Timer(); stepTimer.scheduleTask(new Timer.Task() { @Override public void run() { if(gs != null){ - if(level.getProjectile().getxPos() > Gdx.graphics.getWidth() || level.getProjectile().getxPos() < 0 || level.getProjectile().getyPos() < 0){ - gs.step(level); - level.reset(); + if(level[currentLevel].getProjectile().getxPos() > Gdx.graphics.getWidth() || level[currentLevel].getProjectile().getxPos() < 0 || level[currentLevel].getProjectile().getyPos() < 0){ + gs.step(level[currentLevel]); + level[currentLevel].reset(); gs.dispose(); stepTimer.stop(); gs = null; ws = new Winscreen(GAME_WORLD_WIDTH, GAME_WORLD_HEIGHT, false); } else{ - level.step(); - gs.step(level); + level[currentLevel].step(); + gs.step(level[currentLevel]); for(Rectangle rect : gs.getGoalRects()){ if(Intersector.overlaps(gs.getProjectileCirc(), rect)){ if(rect.getHeight() == 1){ - level.horizontalCollision(); + level[currentLevel].horizontalCollision(); } else if(rect.getWidth() == 1){ - level.verticalCollision(); + level[currentLevel].verticalCollision(); } break; } @@ -123,7 +127,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ currentLevel = ls.getSelectedLevel(); } else if(gs != null){ - gs.render(batch, level); + gs.render(batch, level[currentLevel]); if(gs.getWin()){ gs.dispose(); stepTimer.stop(); @@ -179,8 +183,8 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ } } else if(gs != null){ - if(!level.released()){ - level.projectileReleased(); + if(!level[currentLevel].released()){ + level[currentLevel].projectileReleased(); } } else if(ws != null){