DEADSOFTWARE

Add Kotlin dependencies
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / objects / Block.java
index 8cda832e540a9e307f1ae4d8343cac181b6ee9c5..0800b5b5cb8d8f713aef6e017a4c7af355675c79 100644 (file)
@@ -3,33 +3,43 @@ package ru.deadsoftware.cavedroid.game.objects;
 import com.badlogic.gdx.graphics.g2d.Sprite;
 import com.badlogic.gdx.math.Rectangle;
 
-public class Block {
+import javax.annotation.CheckForNull;
 
-    private int x, y, w, h;
-    private int hp;
-    private String drop, meta;
-    private Sprite tex;
+public class Block {
 
-    private boolean coll, bg, tp, rb, fluid;
+    private final int x;
+    private final int y;
+    private final int w;
+    private final int h;
+    private final int hp;
+    private final String drop;
+    private final String meta;
+    @CheckForNull
+    private final Sprite tex;
+
+    private final boolean coll;
+    private final boolean bg;
+    private final boolean tp;
+    private final boolean rb;
+    private final boolean fluid;
 
     /**
-     *
-     * @param left margin from left edge
-     * @param top margin from top edge
-     * @param right margin from right edge
+     * @param left   margin from left edge
+     * @param top    margin from top edge
+     * @param right  margin from right edge
      * @param bottom margin from bottom edge
-     * @param hp hit points
-     * @param drop id of an item the block will drop when destroyed
-     * @param coll true if block has collision
-     * @param bg true if block should be drawn behind player
-     * @param tp true if block is transparent and renderer should draw a block behind it
-     * @param rb true if block should break when there is no block with collision under it
-     * @param fluid true if fluid
-     * @param meta extra info for storing
-     * @param tex block's texture
+     * @param hp     hit points
+     * @param drop   id of an item the block will drop when destroyed
+     * @param coll   true if block has collision
+     * @param bg     true if block should be drawn behind player
+     * @param tp     true if block is transparent and renderer should draw a block behind it
+     * @param rb     true if block should break when there is no block with collision under it
+     * @param fluid  true if fluid
+     * @param meta   extra info for storing
+     * @param tex    block's texture
      */
-    public Block(int left, int top, int right, int bottom, int hp,
-                 String drop, boolean coll, boolean bg, boolean tp, boolean rb, boolean fluid, String meta, Sprite tex) {
+    public Block(int left, int top, int right, int bottom, int hp, String drop, boolean coll, boolean bg, boolean tp,
+                 boolean rb, boolean fluid, String meta, @CheckForNull Sprite tex) {
         this.x = left;
         this.y = top;
         this.w = 16 - right - left;
@@ -43,7 +53,9 @@ public class Block {
         this.fluid = fluid;
         this.meta = meta;
         this.tex = tex;
-        if (this.tex != null) this.tex.flip(false, true);
+        if (this.tex != null) {
+            this.tex.flip(false, true);
+        }
     }
 
     public boolean hasCollision() {
@@ -74,11 +86,12 @@ public class Block {
         return !drop.equals("none");
     }
 
-    public Sprite getTex() {
+    public Sprite getTexture() {
+        assert tex != null;
         return tex;
     }
 
-    public Rectangle getRect(int x, int y) {
+    public Rectangle getRectangle(int x, int y) {
         x *= 16;
         y *= 16;
         return new Rectangle(x + this.x, y + this.y, w, h);