public C GetComponent <C>() where C : Component { // todo: could this cause a concurrent modification exception foreach (var component in _components.GetItemsByType <C>()) { return(component); } return(default);
public static T[] FindEntities <T>() where T : Entity { var items = _entities.GetItemsByType <T>(); if (_addEntities.Count > 0) { items = _addEntities.Where(x => x is T) .Cast <T>() .Concat(items); } return(items.ToArray()); }