コード例 #1
0
ファイル: Entity.cs プロジェクト: Chamberlain91/Heirloom
        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);
コード例 #2
0
ファイル: Game.cs プロジェクト: Chamberlain91/Superfluid
        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());
        }