From 223a6b3147b0cac6d2dc31f5ecaa93ae13160786 Mon Sep 17 00:00:00 2001 From: cosmonaut Date: Mon, 7 Mar 2022 11:46:51 -0800 Subject: [PATCH] testing filter --- lib/MoonTools.ECS | 2 +- src/InputSystem.cs | 2 +- src/MoonWorksECSTestGame.cs | 13 +++++-------- src/PositionSystem.cs | 9 ++++++++- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/lib/MoonTools.ECS b/lib/MoonTools.ECS index 229a065..1d7db58 160000 --- a/lib/MoonTools.ECS +++ b/lib/MoonTools.ECS @@ -1 +1 @@ -Subproject commit 229a0651bdaac5918b4550866cdca9122bf0d78b +Subproject commit 1d7db58d437ce370a31e2ae11a17350cec2089f7 diff --git a/src/InputSystem.cs b/src/InputSystem.cs index d792fd9..b0ac00c 100644 --- a/src/InputSystem.cs +++ b/src/InputSystem.cs @@ -7,7 +7,7 @@ namespace MoonWorksECSTest { MoonWorks.Input.Inputs Inputs; - public InputSystem(MoonWorks.Input.Inputs inputs) + public InputSystem(World world, MoonWorks.Input.Inputs inputs) : base(world) { Inputs = inputs; } diff --git a/src/MoonWorksECSTestGame.cs b/src/MoonWorksECSTestGame.cs index 1c1ba50..8d07197 100644 --- a/src/MoonWorksECSTestGame.cs +++ b/src/MoonWorksECSTestGame.cs @@ -6,7 +6,7 @@ namespace MoonWorksECSTest { class MoonWorksECSTestGame : Game { - World world; + World world = new World(); public MoonWorksECSTestGame( WindowCreateInfo windowCreateInfo, @@ -14,14 +14,11 @@ namespace MoonWorksECSTest bool debugMode ) : base(windowCreateInfo, presentMode, 60, debugMode) { - var worldBuilder = new WorldBuilder(); - worldBuilder.AddSystem(new InputSystem(Inputs)); - worldBuilder.AddSystem(new PositionSystem()); + new InputSystem(world, Inputs); + new PositionSystem(world); - var entity = worldBuilder.CreateEntity(); - worldBuilder.Set(entity, new PositionComponent { Position = new MoonWorks.Math.Vector2(200, 200) }); - - world = worldBuilder.Build(); + var entity = world.CreateEntity(); + world.Set(entity, new PositionComponent { Position = new MoonWorks.Math.Vector2(200, 200) }); } protected override void Update(System.TimeSpan dt) diff --git a/src/PositionSystem.cs b/src/PositionSystem.cs index ff79268..dbf6302 100644 --- a/src/PositionSystem.cs +++ b/src/PositionSystem.cs @@ -5,9 +5,16 @@ namespace MoonWorksECSTest { public class PositionSystem : MoonTools.ECS.System { + Filter PositionFilter; + + public PositionSystem(World world) : base(world) + { + PositionFilter = FilterBuilder.Include().Build(); + } + public override void Update(TimeSpan delta) { - foreach (var entity in ReadEntities()) + foreach (var entity in PositionFilter.Entities) { foreach (var inputMessage in ReadMessages()) {