diff options
| author | Elizabeth Alexander Hunt <me@liz.coffee> | 2026-02-28 15:19:31 -0800 |
|---|---|---|
| committer | Elizabeth Alexander Hunt <me@liz.coffee> | 2026-02-28 15:19:31 -0800 |
| commit | 2bc1cb77dfe8edf29ccb4064be23078cdd06038b (patch) | |
| tree | 916bcccba0a0b7c5794e7b8b78e75469f0fa9e19 /core/src/main/java/coffee/liz/dyl | |
| parent | 8412efda977c1c76885eae1d0b4a721cf71162f2 (diff) | |
| download | dyl-2bc1cb77dfe8edf29ccb4064be23078cdd06038b.tar.gz dyl-2bc1cb77dfe8edf29ccb4064be23078cdd06038b.zip | |
Simplify event emissions
Diffstat (limited to 'core/src/main/java/coffee/liz/dyl')
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)); } |
