diff --git a/core/src/ru/deadsoftware/cavedroid/game/objects/Block.java b/core/src/ru/deadsoftware/cavedroid/game/objects/Block.java
index 2a4491610caae37ea8207e1e46e2205c3fd49740..0800b5b5cb8d8f713aef6e017a4c7af355675c79 100644 (file)
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.math.Rectangle;
-public class Block {
-
- private int x, y, w, h;
- private int hp;
- private String drop, meta;
- private Sprite tex;
+import javax.annotation.CheckForNull;
- //coll - collision, bg - background, tp - transparent, rb - requires block under it
- private boolean coll, bg, tp, rb, fluid;
+public class Block {
- 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) {
+ 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 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
+ */
+ 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;
this.x = left;
this.y = top;
this.w = 16 - right - left;
this.fluid = fluid;
this.meta = meta;
this.tex = tex;
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() {
}
public boolean hasCollision() {
return !drop.equals("none");
}
return !drop.equals("none");
}
- public Sprite getTex() {
+ public Sprite getTexture() {
+ assert tex != null;
return tex;
}
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);
x *= 16;
y *= 16;
return new Rectangle(x + this.x, y + this.y, w, h);