示例#1
0
        public void Execute(List <Entity> entities)
        {
            var toDeleteWithChildren = entities
                                       .Concat(entities
                                               .Where(x => x.hasId)
                                               .SelectMany(x => _pool.FindChildrenFor(x)))
                                       .Distinct()
                                       .ToList();

            foreach (var entity in toDeleteWithChildren)
            {
                if (entity.hasView)
                {
                    DestroyView(entity);
                }

                _pool.DestroyEntity(entity);
            }
        }
示例#2
0
 public static Entity FindChildFor(this Pool pool, Entity entity)
 {
     return(pool.FindChildrenFor(entity).SingleEntity());
 }