public virtual Entity[] GetEntities()
{
if(_entitiesCache == null) {
_entitiesCache = new Entity[_entities.Count];
_entities.CopyTo(_entitiesCache);
}
return _entitiesCache;
}
static void moveSystem(Context context) { var entities = context.GetEntities(Matcher.AllOf(Matcher.Move, Matcher.Position)); foreach(var entity in entities) { var move = entity.move; var pos = entity.position; entity.ReplacePosition(pos.x, pos.y + move.speed); } }