DEADSOFTWARE

Fix swimming
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / GameRenderer.java
index 19f2681b0df65020285bcdb4572076bc089fb969..b17777952b1c187ab29a6511b438cdf5b14b16fa 100644 (file)
@@ -12,6 +12,7 @@ import ru.deadsoftware.cavedroid.game.mobs.MobsController;
 import ru.deadsoftware.cavedroid.game.mobs.Player;
 import ru.deadsoftware.cavedroid.game.objects.Drop;
 import ru.deadsoftware.cavedroid.game.objects.DropController;
+import ru.deadsoftware.cavedroid.game.world.GameWorld;
 import ru.deadsoftware.cavedroid.misc.ControlMode;
 import ru.deadsoftware.cavedroid.misc.Renderer;
 
@@ -117,7 +118,7 @@ public class GameRenderer extends Renderer {
         }
     }
 
-    private void drawMob(Mob mob) {
+    private void drawMob(Mob mob, float delta) {
         float mobDrawX = mob.getX() - getCamX();
         float mobDrawY = mob.getY() - getCamY();
 
@@ -129,7 +130,7 @@ public class GameRenderer extends Renderer {
             return;
         }
 
-        mob.draw(spriter, mobDrawX, mobDrawY);
+        mob.draw(spriter, mobDrawX, mobDrawY, delta);
     }
 
     private void drawDrop(Drop drop) {
@@ -210,12 +211,12 @@ public class GameRenderer extends Renderer {
         }
     }
 
-    private void drawGamePlay() {
+    private void drawGamePlay(float delta) {
         Player player = mMobsController.getPlayer();
 
         drawWorld(true);
-        player.draw(spriter, player.getX() - getCamX() - player.getWidth() / 2, player.getY() - getCamY());
-        mMobsController.forEach(this::drawMob);
+        player.draw(spriter, player.getX() - getCamX() - player.getWidth() / 2, player.getY() - getCamY(), delta);
+        mMobsController.forEach( (mob) -> { drawMob(mob, delta); });
         mDropController.forEach(this::drawDrop);
         drawWorld(false);
         drawGUI();
@@ -237,7 +238,7 @@ public class GameRenderer extends Renderer {
 
         spriter.begin();
 
-        drawGamePlay();
+        drawGamePlay(delta);
 
         switch (mMainConfig.getGameUiWindow()) {
             case CREATIVE_INVENTORY:
@@ -290,11 +291,14 @@ public class GameRenderer extends Renderer {
             drawString("Y: " + player.getUpperMapY(), 0, 20);
             drawString("CurX: " + mGameInput.getCurX(), 0, 30);
             drawString("CurY: " + mGameInput.getCurY(), 0, 40);
-            drawString("Mobs: " + mMobsController.getSize(), 0, 50);
-            drawString("Drops: " + mDropController.getSize(), 0, 60);
-            drawString("Block: " + GameItems.getBlockKey(mGameWorld.getForeMap(mGameInput.getCurX(), mGameInput.getCurY())), 0, 70);
-            drawString("Hand: " + GameItems.getItemKey(mMobsController.getPlayer().inventory[mMobsController.getPlayer().slot]), 0, 80);
-            drawString("Game mode: " + player.gameMode, 0, 90);
+            drawString("Velocity: " + player.getVelocity(), 0, 50);
+            drawString("Swim: " + player.swim, 0, 60);
+            drawString("Mobs: " + mMobsController.getSize(), 0, 70);
+            drawString("Drops: " + mDropController.getSize(), 0, 80);
+            drawString("Block: " + GameItems.getBlockKey(mGameWorld.getForeMap(mGameInput.getCurX(), mGameInput.getCurY())), 0, 90);
+            drawString("Hand: " + GameItems.getItemKey(mMobsController.getPlayer().inventory[mMobsController.getPlayer().slot]), 0, 100);
+            drawString("Game mode: " + player.gameMode, 0, 110);
+            drawString("Check swim: " + GameItems.isFluid(mGameWorld.getForeMap(player.getMapX(), player.getLowerMapY())), 0, 120);
             spriter.end();
         }