Add Incinerator (DestroyMachine) and remove test mashine

This commit is contained in:
Stone_Red
2022-05-13 13:06:28 +02:00
parent 7a6991ccd7
commit 224db7ac35
6 changed files with 17 additions and 44 deletions
@@ -15,7 +15,7 @@ public class YesApplication extends javafx.application.Application {
@Override @Override
public void stop() { public void stop() {
System.out.println("Closing!"); System.out.println("Closing!");
GlobalEventHandler.trigger("closing", null); GlobalEventHandler.trigger("app:closing", null);
} }
@Override @Override
@@ -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"));
}
}
@@ -31,8 +31,7 @@ public class GameManager {
world.toBack(); world.toBack();
try { try {
EntityRegistry.register(new RegistryEntry("test", "test receive machine", DestroyMachine.class)); EntityRegistry.register(new RegistryEntry("destroyer", "Incinerator", DestroyMachine.class));
EntityRegistry.register(new RegistryEntry("test2", "test offer machine", TestMachine2.class));
EntityRegistry.register(new RegistryEntry("generator", "Generator", GeneratorMachine.class)); EntityRegistry.register(new RegistryEntry("generator", "Generator", GeneratorMachine.class));
EntityRegistry.register(new RegistryEntry("conveyorBelt", "Conveyor Belt", ConveyorBelt.class)); EntityRegistry.register(new RegistryEntry("conveyorBelt", "Conveyor Belt", ConveyorBelt.class));
EntityRegistry.register(new RegistryEntry("hub", "Central Hub", HubDisplay.class)); EntityRegistry.register(new RegistryEntry("hub", "Central Hub", HubDisplay.class));
@@ -45,16 +44,16 @@ public class GameManager {
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.scheduleAtFixedRate(() -> { executor.scheduleAtFixedRate(() -> {
try { try {
GlobalEventHandler.trigger("timerTick", null); GlobalEventHandler.trigger("global:timerTick", null);
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
} }
//System.out.println("Finished tick!"); //System.out.println("Finished tick!");
}, 0, 100, TimeUnit.MILLISECONDS); }, 0, 100, TimeUnit.MILLISECONDS);
GlobalEventHandler.addListener("timerTick", this, (__) -> { GlobalEventHandler.addListener("global:timerTick", this, (__) -> {
//System.out.println("Tick!"); //System.out.println("Tick!");
}); });
GlobalEventHandler.addListener("closing", this, (__) -> executor.shutdown()); GlobalEventHandler.addListener("app:closing", this, (__) -> executor.shutdown());
} }
} }
@@ -83,13 +83,6 @@ public class PlayerManager {
} }
private void processKeyRelease(KeyEvent key) { 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)) { if (HOME_KEY.match(key)) {
world.setTranslateX(START_POSITION.x); world.setTranslateX(START_POSITION.x);
world.setTranslateY(START_POSITION.y); world.setTranslateY(START_POSITION.y);
@@ -110,6 +103,13 @@ public class PlayerManager {
if (DOWN_KEY.match(key)) { if (DOWN_KEY.match(key)) {
world.setTranslateY(world.getTranslateY() - 45); 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(); Size preferredAmountOfChunks = getPreferredAmountOfChunks();
Coordinate chunkPosition = getCurrentChunkPosition(); Coordinate chunkPosition = getCurrentChunkPosition();
+2 -2
View File
@@ -11,7 +11,7 @@ public abstract class Entity extends javafx.scene.Group {
private int rotation; private int rotation;
public Entity() { public Entity() {
GlobalEventHandler.addListener("timerTick", this, (__) -> update()); GlobalEventHandler.addListener("global:timerTick", this, (__) -> update());
} }
public final void addBehaviour(Component behaviour) { public final void addBehaviour(Component behaviour) {
@@ -43,7 +43,7 @@ public abstract class Entity extends javafx.scene.Group {
} }
public final void destroy() { public final void destroy() {
GlobalEventHandler.removeListener("timerTick", this, (__) -> update()); GlobalEventHandler.removeListener("global:timerTick", this);
for (Component component : behaviours) { for (Component component : behaviours) {
component.destroy(); component.destroy();
} }
@@ -2,8 +2,8 @@ package com.yes.yes.utils;
import java.util.function.Consumer; import java.util.function.Consumer;
public class GlobalEventHandler { public final class GlobalEventHandler {
private static final EventHandler handler = new EventHandler(); private static EventHandler handler = new EventHandler();
private GlobalEventHandler() { private GlobalEventHandler() {
} }
@@ -12,7 +12,7 @@ public class GlobalEventHandler {
handler.addListener(eventName, object, function); handler.addListener(eventName, object, function);
} }
public static <T> void removeListener(String eventName, Object object, Consumer<T> function) { public static void removeListener(String eventName, Object object) {
handler.removeListener(eventName, object); handler.removeListener(eventName, object);
} }