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