public EntitySet Query(BitSet otherSignature) { var combinedSignature = otherSignature.Clone(); combinedSignature.Or(_signature); return(_ecm.Get(combinedSignature)); }
public void Update(TimeSpan time) { for (var i = 0; i < _gameSystems.Count; i++) { _gameSystems[i].Update(time); } for (var i = 0; i < _entitySystems.Count; i++) { var system = _entitySystems[i]; var entities = _ecs.Get(system.Signature); if (entities.Entities.Count > 0) { system.Update(time, entities); for (var j = 0; j < entities.Entities.Count; j++) { system.Update(time, entities.Entities[j]); } } } _ecs.CommitComponentChanges(); }