DEADSOFTWARE

Refactor
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / objects / Player.java
index 5fd04f902f2a99feee334803aad4c338849dd067..1c12f03cc2f23654df8920ef61edfdefb3871bba 100644 (file)
@@ -1,10 +1,8 @@
 package ru.deadsoftware.cavedroid.game.objects;
 
 import com.badlogic.gdx.graphics.g2d.SpriteBatch;
-import com.badlogic.gdx.math.MathUtils;
 import com.badlogic.gdx.math.Rectangle;
 import com.badlogic.gdx.math.Vector2;
-import ru.deadsoftware.cavedroid.game.GameItems;
 import ru.deadsoftware.cavedroid.game.mobs.Mob;
 import ru.deadsoftware.cavedroid.misc.Assets;
 
@@ -14,16 +12,15 @@ import static ru.deadsoftware.cavedroid.GameScreen.GP;
 
 public class Player extends Mob implements Serializable {
 
-    public int[] inv;
-    public int invSlot;
+    public int[] inventory;
+    public int slot;
     public int gameMode;
     public boolean swim;
 
     public Player(int gameMode) {
-        super(0, 0, 4, 30, 1, true);
+        super(0, 0, 4, 30, 1);
         this.gameMode = gameMode;
-        inv = new int[9];
-        pos = getSpawnPoint().cpy();
+        inventory = new int[9];
         swim = false;
     }
 
@@ -40,13 +37,13 @@ public class Player extends Mob implements Serializable {
                 GP.world.setForeMap(x, y, 1);
                 break;
             }
-            if (GP.world.getForeMap(x, y) > 0 && GameItems.getBlock(GP.world.getForeMap(x, y)).hasCollision()) break;
+            if (GP.world.hasForeAt(x, y) && GP.world.getForeMapBlock(x, y).hasCollision()) break;
         }
-        return new Vector2(x * 16 + 8 - (float) getWidth() / 2, (float) y * 16 - getHeight());
+        return new Vector2(x * 16 + 8 -  getWidth() / 2, (float) y * 16 - getHeight());
     }
 
     public void setDir(int dir) {
-        if (dir != getDir()) switchDir();
+        if (dir != getDirection()) switchDir();
     }
 
     @Override
@@ -59,58 +56,36 @@ public class Player extends Mob implements Serializable {
 
     @Override
     public void draw(SpriteBatch spriteBatch, float x, float y) {
-        if (mov.x != 0 || Assets.plSprite[0][2].getRotation() != 0) {
-            Assets.plSprite[0][2].rotate(animDelta);
-            Assets.plSprite[1][2].rotate(-animDelta);
-            Assets.plSprite[0][3].rotate(-animDelta);
-            Assets.plSprite[1][3].rotate(animDelta);
+        if (mov.x != 0 || Assets.playerSprite[0][2].getRotation() != 0) {
+            Assets.playerSprite[0][2].rotate(animDelta);
+            Assets.playerSprite[1][2].rotate(-animDelta);
+            Assets.playerSprite[0][3].rotate(-animDelta);
+            Assets.playerSprite[1][3].rotate(animDelta);
         } else {
-            Assets.plSprite[0][2].setRotation(0);
-            Assets.plSprite[1][2].setRotation(0);
-            Assets.plSprite[0][3].setRotation(0);
-            Assets.plSprite[1][3].setRotation(0);
+            Assets.playerSprite[0][2].setRotation(0);
+            Assets.playerSprite[1][2].setRotation(0);
+            Assets.playerSprite[0][3].setRotation(0);
+            Assets.playerSprite[1][3].setRotation(0);
         }
-        if (Assets.plSprite[0][2].getRotation() >= 60 || Assets.plSprite[0][2].getRotation() <= -60)
+        if (Assets.playerSprite[0][2].getRotation() >= 60 || Assets.playerSprite[0][2].getRotation() <= -60)
             animDelta = -animDelta;
 
         //back hand
-        Assets.plSprite[1][2].setPosition(x - 6, y);
-        Assets.plSprite[1][2].draw(spriteBatch);
+        Assets.playerSprite[1][2].setPosition(x - 6, y);
+        Assets.playerSprite[1][2].draw(spriteBatch);
         //back leg
-        Assets.plSprite[1][3].setPosition(x - 6, y + 10);
-        Assets.plSprite[1][3].draw(spriteBatch);
+        Assets.playerSprite[1][3].setPosition(x - 6, y + 10);
+        Assets.playerSprite[1][3].draw(spriteBatch);
         //front leg
-        Assets.plSprite[0][3].setPosition(x - 6, y + 10);
-        Assets.plSprite[0][3].draw(spriteBatch);
+        Assets.playerSprite[0][3].setPosition(x - 6, y + 10);
+        Assets.playerSprite[0][3].draw(spriteBatch);
         //head
-        spriteBatch.draw(Assets.plSprite[getDir()][0], x - 2, y - 2);
+        spriteBatch.draw(Assets.playerSprite[getDirection()][0], x - 2, y - 2);
         //body
-        spriteBatch.draw(Assets.plSprite[getDir()][1], x - 2, y + 8);
-        //item in hand
-        if (inv[invSlot] > 0) {
-            float handRotation = MathUtils.degRad * Assets.plSprite[0][2].getRotation();
-            switch (GameItems.getItem(inv[invSlot]).getType()) {
-                case 0:
-                    Assets.blockTex[GameItems.getItem(inv[invSlot]).getTex()].setPosition(
-                            x - 8 * MathUtils.sin(handRotation),
-                            y + 6 + 8 * MathUtils.cos(handRotation));
-                    Assets.blockTex[GameItems.getItem(inv[invSlot]).getTex()].draw(spriteBatch);
-                    break;
-                default:
-                    Assets.itemTex[GameItems.getItem(inv[invSlot]).getTex()].flip((getDir() == 0), false);
-                    Assets.itemTex[GameItems.getItem(inv[invSlot]).getTex()].setRotation(
-                            -45 + getDir() * 90 + Assets.plSprite[0][2].getRotation());
-                    Assets.itemTex[GameItems.getItem(inv[invSlot]).getTex()].setPosition(
-                            x - 10 + (12 * getDir()) - 8 * MathUtils.sin(handRotation),
-                            y + 2 + 8 * MathUtils.cos(handRotation));
-                    Assets.itemTex[GameItems.getItem(inv[invSlot]).getTex()].draw(spriteBatch);
-                    Assets.itemTex[GameItems.getItem(inv[invSlot]).getTex()].flip((getDir() == 0), false);
-                    break;
-            }
-        }
+        spriteBatch.draw(Assets.playerSprite[getDirection()][1], x - 2, y + 8);
         //front hand
-        Assets.plSprite[0][2].setPosition(x - 6, y);
-        Assets.plSprite[0][2].draw(spriteBatch);
+        Assets.playerSprite[0][2].setPosition(x - 6, y);
+        Assets.playerSprite[0][2].draw(spriteBatch);
     }
 
     @Override