diff --git a/lib/MoonTools.ECS b/lib/MoonTools.ECS index 1d7db58..227aae9 160000 --- a/lib/MoonTools.ECS +++ b/lib/MoonTools.ECS @@ -1 +1 @@ -Subproject commit 1d7db58d437ce370a31e2ae11a17350cec2089f7 +Subproject commit 227aae9a1a6fb0096580b0dd0c4d1787351fbc6a diff --git a/src/MoonWorksECSTestGame.cs b/src/MoonWorksECSTestGame.cs index 8d07197..8ad780f 100644 --- a/src/MoonWorksECSTestGame.cs +++ b/src/MoonWorksECSTestGame.cs @@ -19,6 +19,10 @@ namespace MoonWorksECSTest var entity = world.CreateEntity(); world.Set(entity, new PositionComponent { Position = new MoonWorks.Math.Vector2(200, 200) }); + world.Set(entity, new StaticPositionComponent()); + + entity = world.CreateEntity(); + world.Set(entity, new PositionComponent { Position = new MoonWorks.Math.Vector2(100, 100) }); } protected override void Update(System.TimeSpan dt) diff --git a/src/PositionSystem.cs b/src/PositionSystem.cs index dbf6302..73474f1 100644 --- a/src/PositionSystem.cs +++ b/src/PositionSystem.cs @@ -9,7 +9,10 @@ namespace MoonWorksECSTest public PositionSystem(World world) : base(world) { - PositionFilter = FilterBuilder.Include().Build(); + PositionFilter = + FilterBuilder.Include() + .Exclude() + .Build(); } public override void Update(TimeSpan delta) @@ -22,7 +25,7 @@ namespace MoonWorksECSTest { var positionComponent = Get(entity); Set(entity, new PositionComponent { Position = new MoonWorks.Math.Vector2(positionComponent.Position.X + 10, positionComponent.Position.Y)}); - Console.WriteLine("Position: " + Get(entity).Position); + Console.WriteLine("Entity: " + entity.ID + ", Position: " + Get(entity).Position); } } } diff --git a/src/StaticPositionComponent.cs b/src/StaticPositionComponent.cs new file mode 100644 index 0000000..63d000c --- /dev/null +++ b/src/StaticPositionComponent.cs @@ -0,0 +1,4 @@ +namespace MoonWorksECSTest +{ + public struct StaticPositionComponent { } +}