using System; using MoonTools.ECS; namespace MoonWorksECSTest { public class PositionSystem : MoonTools.ECS.System { Filter PositionFilter; public PositionSystem(World world) : base(world) { PositionFilter = FilterBuilder.Include() .Exclude() .Build(); } public override void Update(TimeSpan delta) { foreach (var entity in PositionFilter.Entities) { foreach (var inputMessage in ReadMessages()) { if (inputMessage.DpadUp.IsPressed) { var positionComponent = Get(entity); Set(entity, new PositionComponent { Position = new MoonWorks.Math.Vector2(positionComponent.Position.X + 10, positionComponent.Position.Y)}); Console.WriteLine("Entity: " + entity.ID + ", Position: " + Get(entity).Position); } } } } } }