diff --git a/core/src/com/monjaro/gamejam/Die.java b/core/src/com/monjaro/gamejam/Die.java index a2cf27c..ac0f81d 100644 --- a/core/src/com/monjaro/gamejam/Die.java +++ b/core/src/com/monjaro/gamejam/Die.java @@ -16,13 +16,12 @@ public class Die extends Actor { */ private final Face[] faces = new Face[6]; private int faceIndex = 3; - private boolean locked = false; + private boolean selected = false; private static Texture lockedSprite; private final Random random = new Random(); //TODO use central random - public Die(float x, float y, float width, float height) { transform = new Transform(x, y, width, height); @@ -79,14 +78,14 @@ public class Die extends Actor { return getFaceValue() <= 0; } - public boolean isLocked() { - return locked; + public boolean isSelected() { + return selected; } - public void setLocked(boolean locked) { - if (locked != this.locked) + public void setSelected(boolean selected) { + if (selected != this.selected) { - if (locked) { + if (selected) { transform.y += 64; transform.rotation = 20; } @@ -96,7 +95,7 @@ public class Die extends Actor { } } // terrible - this.locked = locked; + this.selected = selected; } } diff --git a/core/src/com/monjaro/gamejam/Game.java b/core/src/com/monjaro/gamejam/Game.java index fb1b526..e4d4462 100644 --- a/core/src/com/monjaro/gamejam/Game.java +++ b/core/src/com/monjaro/gamejam/Game.java @@ -13,14 +13,10 @@ import com.monjaro.gamejam.segment.KinSegment; import com.monjaro.gamejam.segment.Segment; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; -import java.util.Set; public class Game extends ApplicationAdapter { - private final Set actors = new HashSet<>(); - private final List dice = new ArrayList<>(); private final List segments = new ArrayList<>(); @@ -57,15 +53,13 @@ public class Game extends ApplicationAdapter { public void tick() { processInput(); - - actors.forEach(Actor::tick); } public void processInput() { Input input = Gdx.input; if (input.isKeyJustPressed(Input.Keys.R)) { //reroll dice that aren't locked - dice.stream().filter(d -> !d.isLocked()).forEach(Die::roll); + dice.stream().filter(d -> !d.isSelected()).forEach(Die::roll); System.out.println("=".repeat(100)); for (Segment segment : segments) { @@ -78,7 +72,7 @@ public class Game extends ApplicationAdapter { int keyCode = Input.Keys.NUM_1 + i; //keycode for the current die, 1, 2...9, 0 on keyboard if (input.isKeyJustPressed(keyCode)) { //if key corresponding to die has been pressed - die.setLocked(!die.isLocked()); //flip lock state + die.setSelected(!die.isSelected()); //flip lock state } } } @@ -94,8 +88,6 @@ public class Game extends ApplicationAdapter { ScreenUtils.clear(0, 0, 0, 1); batch.begin(); - actors.forEach(a -> a.render(batch)); - //TODO debug for (Die die : dice) { die.render(batch); @@ -105,7 +97,7 @@ public class Game extends ApplicationAdapter { for (Segment segment : segments) { String prefix = "[#9E65A8]"; if (segment.isDestroyed()) prefix = "[#EBE5EC]"; - else if (segment.isDestroyedBy(dice)) prefix = "[#528154]"; + else if (segment.isDestroyedBy(getSelectedDice())) prefix = "[#528154]"; font.draw(batch, prefix + segment.getName(), x += 75, Gdx.graphics.getHeight() - 100); } @@ -120,12 +112,10 @@ public class Game extends ApplicationAdapter { img.dispose(); } - private void addActor(Actor actor) { - actors.add(actor); - } - - private void removeActor(Actor actor) { - actors.remove(actor); + public List getSelectedDice() { + return dice.stream() + .filter(d -> !d.isSelected()) + .toList(); } } diff --git a/core/src/com/monjaro/gamejam/UI.java b/core/src/com/monjaro/gamejam/UI.java index 5c38285..6d3efbd 100644 --- a/core/src/com/monjaro/gamejam/UI.java +++ b/core/src/com/monjaro/gamejam/UI.java @@ -3,7 +3,14 @@ package com.monjaro.gamejam; import com.badlogic.gdx.graphics.g2d.SpriteBatch; public class UI extends Actor{ - Transform transform + private Transform position; + private Texture + + public void setPosition(int x, int y){ + position.x = x; + position.y = y; + } + @Override public void tick() {