diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameRenderer.java b/core/src/ru/deadsoftware/cavedroid/game/GameRenderer.java
index 018fe1bf750e5b3fba65d98bb1acddcead8af876..b17777952b1c187ab29a6511b438cdf5b14b16fa 100644 (file)
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;
@GameScope
public class GameRenderer extends Renderer {
- private static final String TAG = "GameRenderer";
-
private final MainConfig mMainConfig;
private final GameInput mGameInput;
private final GameWorld mGameWorld;
if (drawBG) {
if ((!mGameWorld.hasForeAt(x, y) || mGameWorld.getForeMapBlock(x, y).isTransparent())
&& mGameWorld.hasBackAt(x, y)) {
- spriter.draw(mGameWorld.getBackMapBlock(x, y).getTexture(), drawX(x), drawY(y));
+ mGameWorld.getBackMapBlock(x, y).draw(spriter, drawX(x), drawY(y));
if (!mGameWorld.hasForeAt(x, y) && x == mGameInput.getCurX() && y == mGameInput.getCurY()) {
drawWreck(mGameWorld.getBackMap(mGameInput.getCurX(), mGameInput.getCurY()));
}
}
}
if (mGameWorld.hasForeAt(x, y) && mGameWorld.getForeMapBlock(x, y).isBackground() == drawBG) {
- spriter.draw(mGameWorld.getForeMapBlock(x, y).getTexture(), drawX(x), drawY(y));
+ mGameWorld.getForeMapBlock(x, y).draw(spriter, drawX(x), drawY(y));
if (x == mGameInput.getCurX() && y == mGameInput.getCurY()) {
drawWreck(mGameWorld.getForeMap(mGameInput.getCurX(), mGameInput.getCurY()));
}
}
}
- private void drawMob(Mob mob) {
+ private void drawMob(Mob mob, float delta) {
float mobDrawX = mob.getX() - getCamX();
float mobDrawY = mob.getY() - getCamY();
return;
}
- mob.draw(spriter, mobDrawX, mobDrawY);
+ mob.draw(spriter, mobDrawX, mobDrawY, delta);
}
private void drawDrop(Drop drop) {
}
}
- 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();
spriter.begin();
- drawGamePlay();
+ drawGamePlay(delta);
switch (mMainConfig.getGameUiWindow()) {
case CREATIVE_INVENTORY:
if (mMainConfig.isShowInfo()) {
spriter.begin();
+ Player player = mMobsController.getPlayer();
drawString("FPS: " + fps, 0, 0);
- drawString("X: " + mMobsController.getPlayer().getMapX(), 0, 10);
- drawString("Y: " + mMobsController.getPlayer().getUpperMapY(), 0, 20);
+ drawString("X: " + player.getMapX(), 0, 10);
+ 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: " + mMobsController.getPlayer().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();
}