From 224db7ac35adbd4b2edcc39a8815adf7731a961a Mon Sep 17 00:00:00 2001 From: Stone_Red <56473591+Stone-Red-Code@users.noreply.github.com> Date: Fri, 13 May 2022 13:06:28 +0200 Subject: [PATCH] Add `Incinerator` (DestroyMachine) and remove test mashine --- src/main/java/com/yes/yes/YesApplication.java | 2 +- .../yes/entities/machines/TestMachine2.java | 26 ------------------- .../com/yes/yes/managers/GameManager.java | 9 +++---- .../com/yes/yes/managers/PlayerManager.java | 14 +++++----- src/main/java/com/yes/yes/utils/Entity.java | 4 +-- .../com/yes/yes/utils/GlobalEventHandler.java | 6 ++--- 6 files changed, 17 insertions(+), 44 deletions(-) delete mode 100644 src/main/java/com/yes/yes/entities/machines/TestMachine2.java diff --git a/src/main/java/com/yes/yes/YesApplication.java b/src/main/java/com/yes/yes/YesApplication.java index 51fc17c..9b9bf68 100644 --- a/src/main/java/com/yes/yes/YesApplication.java +++ b/src/main/java/com/yes/yes/YesApplication.java @@ -15,7 +15,7 @@ public class YesApplication extends javafx.application.Application { @Override public void stop() { System.out.println("Closing!"); - GlobalEventHandler.trigger("closing", null); + GlobalEventHandler.trigger("app:closing", null); } @Override diff --git a/src/main/java/com/yes/yes/entities/machines/TestMachine2.java b/src/main/java/com/yes/yes/entities/machines/TestMachine2.java deleted file mode 100644 index 1defcfc..0000000 --- a/src/main/java/com/yes/yes/entities/machines/TestMachine2.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yes.yes.entities.machines; - -import com.yes.yes.behaviours.ItemBehaviour; -import com.yes.yes.behaviours.OfferBehaviour; -import com.yes.yes.behaviours.PlaceBehaviour; -import com.yes.yes.behaviours.TestBehaviour; -import com.yes.yes.utils.BlockContainer; -import com.yes.yes.utils.Direction; -import com.yes.yes.utils.Entity; -import com.yes.yes.world.Chunk; -import javafx.scene.shape.Rectangle; - -public class TestMachine2 extends Entity { - public TestMachine2() { - super(); - this.getChildren().add(new Rectangle(Chunk.ENTITY_SIZE, Chunk.ENTITY_SIZE)); - } - - public TestMachine2(BlockContainer blockContainer) { - this(); - this.addBehaviour(new PlaceBehaviour(this, blockContainer)); - this.addBehaviour(new TestBehaviour(this, blockContainer)); - this.addBehaviour(new ItemBehaviour(this, blockContainer, "Item")); - this.addBehaviour(new OfferBehaviour(this, blockContainer, Direction.RIGHT, "Item")); - } -} \ No newline at end of file diff --git a/src/main/java/com/yes/yes/managers/GameManager.java b/src/main/java/com/yes/yes/managers/GameManager.java index ffeff00..7f8b02a 100644 --- a/src/main/java/com/yes/yes/managers/GameManager.java +++ b/src/main/java/com/yes/yes/managers/GameManager.java @@ -31,8 +31,7 @@ public class GameManager { world.toBack(); try { - EntityRegistry.register(new RegistryEntry("test", "test receive machine", DestroyMachine.class)); - EntityRegistry.register(new RegistryEntry("test2", "test offer machine", TestMachine2.class)); + EntityRegistry.register(new RegistryEntry("destroyer", "Incinerator", DestroyMachine.class)); EntityRegistry.register(new RegistryEntry("generator", "Generator", GeneratorMachine.class)); EntityRegistry.register(new RegistryEntry("conveyorBelt", "Conveyor Belt", ConveyorBelt.class)); EntityRegistry.register(new RegistryEntry("hub", "Central Hub", HubDisplay.class)); @@ -45,16 +44,16 @@ public class GameManager { ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); executor.scheduleAtFixedRate(() -> { try { - GlobalEventHandler.trigger("timerTick", null); + GlobalEventHandler.trigger("global:timerTick", null); } catch (Exception ex) { ex.printStackTrace(); } //System.out.println("Finished tick!"); }, 0, 100, TimeUnit.MILLISECONDS); - GlobalEventHandler.addListener("timerTick", this, (__) -> { + GlobalEventHandler.addListener("global:timerTick", this, (__) -> { //System.out.println("Tick!"); }); - GlobalEventHandler.addListener("closing", this, (__) -> executor.shutdown()); + GlobalEventHandler.addListener("app: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 4a3f03f..07c3561 100644 --- a/src/main/java/com/yes/yes/managers/PlayerManager.java +++ b/src/main/java/com/yes/yes/managers/PlayerManager.java @@ -83,13 +83,6 @@ public class PlayerManager { } private void processKeyRelease(KeyEvent key) { - if (DELETE_KEY.match(key)) { - Coordinate chunkCoordinate = Coordinate.WorldToChunkCoordinate(currentMousePosition); - Coordinate blockCoordinate = Coordinate.WorldToChunkBlock(currentMousePosition); - - Chunk chunk = world.getChunk(chunkCoordinate); - chunk.removeEntity(blockCoordinate); - } if (HOME_KEY.match(key)) { world.setTranslateX(START_POSITION.x); world.setTranslateY(START_POSITION.y); @@ -110,6 +103,13 @@ public class PlayerManager { if (DOWN_KEY.match(key)) { world.setTranslateY(world.getTranslateY() - 45); } + if (DELETE_KEY.match(key)) { + Coordinate chunkCoordinate = Coordinate.WorldToChunkCoordinate(currentMousePosition); + Coordinate blockCoordinate = Coordinate.WorldToChunkBlock(currentMousePosition); + + Chunk chunk = world.getChunk(chunkCoordinate); + chunk.removeEntity(blockCoordinate); + } Size preferredAmountOfChunks = getPreferredAmountOfChunks(); Coordinate chunkPosition = getCurrentChunkPosition(); diff --git a/src/main/java/com/yes/yes/utils/Entity.java b/src/main/java/com/yes/yes/utils/Entity.java index 3434811..1ff2f9e 100644 --- a/src/main/java/com/yes/yes/utils/Entity.java +++ b/src/main/java/com/yes/yes/utils/Entity.java @@ -11,7 +11,7 @@ public abstract class Entity extends javafx.scene.Group { private int rotation; public Entity() { - GlobalEventHandler.addListener("timerTick", this, (__) -> update()); + GlobalEventHandler.addListener("global:timerTick", this, (__) -> update()); } public final void addBehaviour(Component behaviour) { @@ -43,7 +43,7 @@ public abstract class Entity extends javafx.scene.Group { } public final void destroy() { - GlobalEventHandler.removeListener("timerTick", this, (__) -> update()); + GlobalEventHandler.removeListener("global:timerTick", this); for (Component component : behaviours) { component.destroy(); } diff --git a/src/main/java/com/yes/yes/utils/GlobalEventHandler.java b/src/main/java/com/yes/yes/utils/GlobalEventHandler.java index 9cea411..5f612d1 100644 --- a/src/main/java/com/yes/yes/utils/GlobalEventHandler.java +++ b/src/main/java/com/yes/yes/utils/GlobalEventHandler.java @@ -2,8 +2,8 @@ package com.yes.yes.utils; import java.util.function.Consumer; -public class GlobalEventHandler { - private static final EventHandler handler = new EventHandler(); +public final class GlobalEventHandler { + private static EventHandler handler = new EventHandler(); private GlobalEventHandler() { } @@ -12,7 +12,7 @@ public class GlobalEventHandler { handler.addListener(eventName, object, function); } - public static void removeListener(String eventName, Object object, Consumer function) { + public static void removeListener(String eventName, Object object) { handler.removeListener(eventName, object); }