From 30d4d70ae8f14f820d2545fb1ac2ea52b5a43c38 Mon Sep 17 00:00:00 2001 From: Stone_Red <56473591+Stone-Red-Code@users.noreply.github.com> Date: Sat, 7 May 2022 14:23:46 +0200 Subject: [PATCH] Improve rotation functionality --- .../com/yes/yes/behaviours/ConveyorBehaviour.java | 4 +--- .../java/com/yes/yes/behaviours/ItemBehaviour.java | 6 +++--- src/main/java/com/yes/yes/managers/GameManager.java | 4 ++-- .../java/com/yes/yes/managers/PlayerManager.java | 13 +++++++++---- src/main/java/com/yes/yes/world/Chunk.java | 1 - 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/yes/yes/behaviours/ConveyorBehaviour.java b/src/main/java/com/yes/yes/behaviours/ConveyorBehaviour.java index a04d6aa..aa1e525 100644 --- a/src/main/java/com/yes/yes/behaviours/ConveyorBehaviour.java +++ b/src/main/java/com/yes/yes/behaviours/ConveyorBehaviour.java @@ -28,7 +28,6 @@ public class ConveyorBehaviour extends Component { public void update() { if (count > delay) { if (parent.getData(offerDataKey) != null) return; - if (parent.getData(receiveDataKey) == null) return; parent.setData(offerDataKey, parent.getData(receiveDataKey)); count = 0; @@ -37,8 +36,7 @@ public class ConveyorBehaviour extends Component { count++; } - if(isConveyed && parent.getData(offerDataKey) == null) - { + if (isConveyed && parent.getData(offerDataKey) == null) { parent.setData(receiveDataKey, null); parent.trigger(receiveDataKey + "Changed", null); isConveyed = false; diff --git a/src/main/java/com/yes/yes/behaviours/ItemBehaviour.java b/src/main/java/com/yes/yes/behaviours/ItemBehaviour.java index 6545507..113fd90 100644 --- a/src/main/java/com/yes/yes/behaviours/ItemBehaviour.java +++ b/src/main/java/com/yes/yes/behaviours/ItemBehaviour.java @@ -20,13 +20,13 @@ public class ItemBehaviour extends Component { } private void itemChanged(Item item) { - System.out.println("Running item update"); + //System.out.println("Running item update"); Platform.runLater(() -> { this.itemGroup.getChildren().clear(); if (item != null) this.itemGroup.getChildren().add(item); }); - System.out.println("Finished item update"); + //System.out.println("Finished item update"); } @Override @@ -44,7 +44,7 @@ public class ItemBehaviour extends Component { @Override public void update() { - System.out.println("Destroyed:" + parent.getData("destroyed")); + } @Override diff --git a/src/main/java/com/yes/yes/managers/GameManager.java b/src/main/java/com/yes/yes/managers/GameManager.java index 68b0a35..9b4e21d 100644 --- a/src/main/java/com/yes/yes/managers/GameManager.java +++ b/src/main/java/com/yes/yes/managers/GameManager.java @@ -52,11 +52,11 @@ public class GameManager { { ex.printStackTrace(); } - System.out.println("Finished tick!"); + //System.out.println("Finished tick!"); }, 0, 1, TimeUnit.SECONDS); GlobalEventHandler.addListener("timerTick", this, (__) -> { - System.out.println("Tick!"); + //System.out.println("Tick!"); }); GlobalEventHandler.addListener("closing", this, (__) -> executor.shutdown()); } diff --git a/src/main/java/com/yes/yes/managers/PlayerManager.java b/src/main/java/com/yes/yes/managers/PlayerManager.java index 29a79dd..82bb961 100644 --- a/src/main/java/com/yes/yes/managers/PlayerManager.java +++ b/src/main/java/com/yes/yes/managers/PlayerManager.java @@ -7,8 +7,6 @@ import com.yes.yes.world.World; import javafx.scene.Scene; import javafx.scene.input.*; -import java.util.Random; - public class PlayerManager { private static final KeyCombination LEFT_KEY = new KeyCodeCombination(KeyCode.A); @@ -19,6 +17,7 @@ public class PlayerManager { private final World world; private final BuildBox buildBox; private Coordinate chunkPos = new Coordinate(0, 0); + private int currentRotation = 0; public PlayerManager(World world, BuildBox buildBox) { this.world = world; @@ -44,6 +43,7 @@ public class PlayerManager { Coordinate chunkCoordinate = Coordinate.WorldToChunkCoordinate(mouseCoordinate); Coordinate blockCoordinate = Coordinate.WorldToChunkBlock(mouseCoordinate); + try { Class[] types = new Class[1]; types[0] = BlockContainer.class; @@ -59,10 +59,15 @@ public class PlayerManager { Chunk chunk = world.getChunk(chunkCoordinate); Entity oldEntity = chunk.getEntity(blockCoordinate); - if(oldEntity != null && oldEntity.getClass().getSimpleName() == entity.getClass().getSimpleName()) { - entity.setRotation(oldEntity.getRotation() + 1); + if (oldEntity != null && oldEntity.getClass().getSimpleName() == entity.getClass().getSimpleName()) { + if (mouse.getButton() == MouseButton.PRIMARY) + currentRotation = oldEntity.getRotation() + 1; + else + currentRotation = oldEntity.getRotation() - 1; } + entity.setRotation(currentRotation); + chunk.setEntity(entity, blockCoordinate); entity.initialize(); diff --git a/src/main/java/com/yes/yes/world/Chunk.java b/src/main/java/com/yes/yes/world/Chunk.java index d6e9e6d..174b0b8 100644 --- a/src/main/java/com/yes/yes/world/Chunk.java +++ b/src/main/java/com/yes/yes/world/Chunk.java @@ -47,7 +47,6 @@ public class Chunk extends GridPane { Entity entity = getEntity(pos); if (entity != null) { - entity.setData("destroyed", true); entity.destroy(); } this.getChildren().remove(entity);