DEADSOFTWARE

Add input handling
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / game / GameRenderer.java
index 61f7a3af2302ab4792588f60f85125845d6309a7..c6dd02f7053c11493d05474c99245aea3ab96e00 100644 (file)
@@ -9,16 +9,49 @@ import ru.deadsoftware.cavecraft.GameScreen;
 
 public class GameRenderer {
 
-    private OrthographicCamera camera;
-    private ShapeRenderer shapeRenderer;
+    private GameProc gameProc;
 
-    public GameRenderer() {
+    OrthographicCamera camera;
+    ShapeRenderer shapeRenderer;
+
+    public GameRenderer(GameProc gameProc) {
         Gdx.gl.glClearColor(0f,.8f,.8f,1f);
+        this.gameProc = gameProc;
+        camera = new OrthographicCamera();
+        camera.setToOrtho(true, GameScreen.getWidth(), GameScreen.getHeight());
+        camera.position.x=0;
+        camera.position.y=0;
+        shapeRenderer = new ShapeRenderer();
+        shapeRenderer.setProjectionMatrix(camera.combined);
+    }
+
+    public void drawWorld() {
+        shapeRenderer.setAutoShapeType(true);
+        shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
+        for (int y=0; y<gameProc.world.getHeight(); y++) {
+            for (int x=0; x<gameProc.world.getWidth(); x++) {
+                if (gameProc.world.getBackMap(x,y)>0) {
+                    shapeRenderer.setColor(Color.DARK_GRAY);
+                    shapeRenderer.rect(x*32-camera.position.x,
+                            y*32-camera.position.y,32,32);
+                }
+                if (gameProc.world.getForeMap(x,y)>0) {
+                    shapeRenderer.setColor(Color.GRAY);
+                    shapeRenderer.rect(x*32-camera.position.x,
+                            y*32-camera.position.y,32,32);
+                }
+            }
+        }
+        shapeRenderer.setColor(Color.ORANGE);
+        shapeRenderer.set(ShapeRenderer.ShapeType.Line);
+        shapeRenderer.rect(gameProc.cursorX*32-camera.position.x,
+                gameProc.cursorY*32-camera.position.y,32,32);
+        shapeRenderer.end();
     }
 
     public void render() {
         Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
-
+        drawWorld();
     }
 
 }