diff --git a/core/src/model/Level.java b/core/src/model/Level.java index c4cac86..b1bb473 100644 --- a/core/src/model/Level.java +++ b/core/src/model/Level.java @@ -168,5 +168,8 @@ public class Level { goal.setSizeX(300); goal.setSizeY(200); } + public void removeObstacle(Rectangle rect){ + objects.remove(rect); + } } diff --git a/core/src/view/Leveleditor.java b/core/src/view/Leveleditor.java index e50f227..ee6b3de 100644 --- a/core/src/view/Leveleditor.java +++ b/core/src/view/Leveleditor.java @@ -91,11 +91,12 @@ public class Leveleditor{ batch.end(); shapeRenderer.begin(ShapeRenderer.ShapeType.Filled); shapeRenderer.setColor(Color.BLACK); - + shapeRenderer.rectLine((float) level.getPivotX(), (float) level.getPivotY(), (float) level.getProjectile().getxPos(), (float) level.getProjectile().getyPos(), 3); shapeRenderer.setColor(Color.GRAY); shapeRenderer.circle(level.getPivotX(), level.getPivotY(), 5); shapeRenderer.setColor(Color.BLACK); shapeRenderer.circle(level.getPivotX(), level.getPivotY() + 150, level.getProjectile().getRadius()); + if(state == -1){ for(Button button : buttons){ shapeRenderer.rectLine(button.getxPos(), button.getyPos(), button.getxPos() + button.getWidth(), button.getyPos(), 4); @@ -156,9 +157,17 @@ public class Leveleditor{ break; } } + for(Rectangle rect : level.getObjects()){ + if(Intersector.overlaps(mouse, rect)){ + level.removeObstacle(rect); + break; + } + } break; case 0: level.setPivot(x, (int)GAME_WORLD_HEIGHT - y); + level.getProjectile().setxPos(x); + level.getProjectile().setyPos((int) GAME_WORLD_HEIGHT - y + 150); state = -1; break; case 1: @@ -166,17 +175,10 @@ public class Leveleditor{ state = -1; break; case 2: - buttons.remove(buttons.size()-1); - buttons.add(new Button("Rectangle", (int)(GAME_WORLD_WIDTH * 0.02), (int)(GAME_WORLD_HEIGHT - (buttons.size()+1) * 0.07 * GAME_WORLD_HEIGHT), 200, 50, 3, listNumber)); - listNumber++; - buttons.add(new Button("add Rect...", (int)(GAME_WORLD_WIDTH * 0.02), (int)(GAME_WORLD_HEIGHT - (buttons.size()+1) * 0.07 * GAME_WORLD_HEIGHT), 200, 50, 2, listNumber)); - listNumber++; + level.addRectangle(x,(int)GAME_WORLD_HEIGHT-y,200,100); state = -1; break; case 3: - if(buttons.get(selectedRect - 1) != null){ - level.addRectangle(x,(int)GAME_WORLD_HEIGHT - y, 100, 100); - } state = -1; break; case 4: diff --git a/levels/level2.json b/levels/level2.json index a7211ec..85b2196 100644 --- a/levels/level2.json +++ b/levels/level2.json @@ -1 +1 @@ -{goal:{xPos:560,yPos:400,sizeX:450,sizeY:100,thickness:0.2},projectile:{xPos:350,yPos:200,mass:5,radius:10},math:{},xPosPivot:200,yPosPivot:200,isTraceInitialised:[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],traces:[{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10}],objects:[]} \ No newline at end of file +{goal:{xPos:560,yPos:355,sizeX:300,sizeY:200,thickness:0.2},projectile:{xPos:306,yPos:707,mass:5,radius:10},math:{},xPosPivot:306,yPosPivot:557,isTraceInitialised:[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],traces:[{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10},{x:-10,y:-10}],objects:[]} \ No newline at end of file