summaryrefslogtreecommitdiff
path: root/core/src/main/java/coffee/liz/dyl
diff options
context:
space:
mode:
authorElizabeth Alexander Hunt <me@liz.coffee>2026-02-28 15:19:31 -0800
committerElizabeth Alexander Hunt <me@liz.coffee>2026-02-28 15:19:31 -0800
commit2bc1cb77dfe8edf29ccb4064be23078cdd06038b (patch)
tree916bcccba0a0b7c5794e7b8b78e75469f0fa9e19 /core/src/main/java/coffee/liz/dyl
parent8412efda977c1c76885eae1d0b4a721cf71162f2 (diff)
downloaddyl-2bc1cb77dfe8edf29ccb4064be23078cdd06038b.tar.gz
dyl-2bc1cb77dfe8edf29ccb4064be23078cdd06038b.zip
Simplify event emissions
Diffstat (limited to 'core/src/main/java/coffee/liz/dyl')
-rw-r--r--core/src/main/java/coffee/liz/dyl/components/StressComponent.java16
-rw-r--r--core/src/main/java/coffee/liz/dyl/systems/InputSystem.java17
-rw-r--r--core/src/main/java/coffee/liz/dyl/systems/StressSystem.java31
-rw-r--r--core/src/main/java/coffee/liz/dyl/world/DylGameWorld.java6
4 files changed, 10 insertions, 60 deletions
diff --git a/core/src/main/java/coffee/liz/dyl/components/StressComponent.java b/core/src/main/java/coffee/liz/dyl/components/StressComponent.java
deleted file mode 100644
index f22dfaa..0000000
--- a/core/src/main/java/coffee/liz/dyl/components/StressComponent.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package coffee.liz.dyl.components;
-
-import coffee.liz.ecs.model.Component;
-import lombok.NoArgsConstructor;
-import lombok.RequiredArgsConstructor;
-
-import java.util.stream.Collectors;
-import java.util.stream.IntStream;
-
-@RequiredArgsConstructor
-public class StressComponent implements Component {
- private final String componentData;
- public StressComponent() {
- componentData = IntStream.range(0, 10).mapToObj(Integer::toString).collect(Collectors.joining());
- }
-}
diff --git a/core/src/main/java/coffee/liz/dyl/systems/InputSystem.java b/core/src/main/java/coffee/liz/dyl/systems/InputSystem.java
index d5dfe0b..1519b3e 100644
--- a/core/src/main/java/coffee/liz/dyl/systems/InputSystem.java
+++ b/core/src/main/java/coffee/liz/dyl/systems/InputSystem.java
@@ -11,6 +11,7 @@ import coffee.liz.ecs.model.System;
import coffee.liz.ecs.model.World;
import java.util.Collection;
+import java.util.Map;
import java.util.Set;
public class InputSystem implements System<FrameState> {
@@ -24,7 +25,7 @@ public class InputSystem implements System<FrameState> {
final Set<KeyBinds.Action> currentlyActive = state.getSettings().getKeyBinds()
.filterActiveActions(state.getIsKeyPressed());
- final Vec2<Float> momentum = currentlyActive.stream().map(InputSystem::actionToMovement)
+ final Vec2<Float> momentum = currentlyActive.stream().map(movementVectors::get)
.reduce(Vec2::plus)
.orElse(Vec2f.ZERO);
@@ -32,12 +33,10 @@ public class InputSystem implements System<FrameState> {
.forEach(e -> e.get(Velocity.class).setVelocity(momentum));
}
- private static Vec2<Float> actionToMovement(final KeyBinds.Action action) {
- return switch (action) {
- case MOVE_UP -> Vec2i.NORTH.floatValue();
- case MOVE_DOWN -> Vec2i.SOUTH.floatValue();
- case MOVE_LEFT -> Vec2i.WEST.floatValue();
- case MOVE_RIGHT -> Vec2i.EAST.floatValue();
- };
- }
+ private static Map<KeyBinds.Action, Vec2<Float>> movementVectors = Map.of(
+ KeyBinds.Action.MOVE_UP, Vec2i.NORTH.floatValue(),
+ KeyBinds.Action.MOVE_DOWN, Vec2i.SOUTH.floatValue(),
+ KeyBinds.Action.MOVE_LEFT, Vec2i.WEST.floatValue(),
+ KeyBinds.Action.MOVE_RIGHT, Vec2i.EAST.floatValue()
+ );
}
diff --git a/core/src/main/java/coffee/liz/dyl/systems/StressSystem.java b/core/src/main/java/coffee/liz/dyl/systems/StressSystem.java
deleted file mode 100644
index 850a9f3..0000000
--- a/core/src/main/java/coffee/liz/dyl/systems/StressSystem.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package coffee.liz.dyl.systems;
-
-import coffee.liz.dyl.FrameState;
-import coffee.liz.dyl.components.StressComponent;
-import coffee.liz.dyl.components.Velocity;
-import coffee.liz.ecs.math.Vec2f;
-import coffee.liz.ecs.model.System;
-import coffee.liz.ecs.model.World;
-
-import java.util.Collection;
-import java.util.List;
-
-public class StressSystem implements System<FrameState> {
-
- @Override
- public Collection<Class<? extends System<FrameState>>> getDependencies() {
- return List.of();
- }
-
- @Override
- public void update(World<FrameState> world, FrameState state, float deltaSeconds) {
- world.queryable().allOf().forEach(e -> {
- if (Math.random() > 0.5) {
- e.add(new StressComponent());
- e.add(new Velocity(new Vec2f(0.5f - (float) Math.random(), 0.5f - (float) Math.random())));
- } else if (e.has(StressComponent.class)){
- e.remove(StressComponent.class);
- }
- });
- }
-}
diff --git a/core/src/main/java/coffee/liz/dyl/world/DylGameWorld.java b/core/src/main/java/coffee/liz/dyl/world/DylGameWorld.java
index 475694e..a52ea0f 100644
--- a/core/src/main/java/coffee/liz/dyl/world/DylGameWorld.java
+++ b/core/src/main/java/coffee/liz/dyl/world/DylGameWorld.java
@@ -7,7 +7,6 @@ import coffee.liz.dyl.entities.PlayerFactory;
import coffee.liz.dyl.systems.InputSystem;
import coffee.liz.dyl.systems.IntegrationSystem;
import coffee.liz.dyl.systems.RenderSystem;
-import coffee.liz.dyl.systems.StressSystem;
import coffee.liz.ecs.DAGWorld;
import coffee.liz.ecs.math.Vec2f;
import coffee.liz.ecs.math.Vec2i;
@@ -17,10 +16,9 @@ public class DylGameWorld extends DAGWorld<FrameState> {
super(
new InputSystem(),
new IntegrationSystem(),
- new RenderSystem(game.getBatch(), game.getViewport()),
- new StressSystem()
+ new RenderSystem(game.getBatch(), game.getViewport())
);
- for (int i = 0; i < 16_000; i++) {
+ for (int i = 0; i < 2_000; i++) {
PlayerFactory.addTo(this)
.add(new BoundingBox(new Vec2f(i / 200f, i/ 200f), new Vec2i(1, 1), 1));
}