public sealed override void Update(float deltaTime, ECSWorld world)
        {
            if (!initialized)
            {
                afterUpdateCommands = new ConcurrentEntityCommandBuffer(world);
                query       = GetQuery();
                filter      = GetComponentFilter();
                initialized = true;
            }
            BeforeUpdate(deltaTime, world);

            afterUpdateCommands.PlaybackAfterUpdate();

            var blocks = world.ComponentManager.GetBlocksNoSync(query, filter);
            var group  = Jobs.StartNewGroup(query);

            foreach (BlockAccessor block in blocks)
            {
                ComponentProcessJob processJob = new ComponentProcessJob()
                {
                    block     = block,
                    deltaTime = deltaTime,
                    instance  = this
                };
                processJob.Schedule(group);
            }
        }
 private EntityBag(IGameEngineService engineService, IComponentFilter componentFilter)
 {
     Filter         = componentFilter;
     _engineService = engineService;
     OnEngineChanged(this, new EngineChangedEventArgs(engineService.Engine));
     engineService.EngineChanged += OnEngineChanged;
     engineService.EngineEvent   += OnEngineEvent;
 }
Пример #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BinaryRepositoryDefinitionEditorViewModel"/> class.
        /// </summary>
        /// <param name="accessService">The helper service used to get team foundation server specific information.</param>
        /// <param name="type">The resolver type for BinaryRepository.</param>
        /// <param name="xmlDependencyViewModel">The Xml dependency view model.</param>
        /// <param name="validDependencyDefinitonFilenameList">The list of valid dependency definition file names.</param>
        /// <param name="filter">The filter to use to filter the available components.</param>
        /// <param name="tpcUrl">The team project collection url.</param>
        internal BinaryRepositoryDefinitionEditorViewModel(ITfsAccessService accessService, BinaryRepositoryResolverType type, IXmlDependencyViewModel xmlDependencyViewModel, string validDependencyDefinitonFilenameList, IComponentFilter filter, string tpcUrl)
        {
            if (null == accessService)
            {
                throw new ArgumentNullException("accessService");
            }

            if (type == null)
            {
                throw new ArgumentNullException("type");
            }

            if (xmlDependencyViewModel == null)
            {
                throw new ArgumentNullException("xmlDependencyViewModel");
            }

            if (xmlDependencyViewModel.XmlDependency == null)
            {
                throw new ArgumentException(
                          "The argument xmlDependencyViewModel does not contain an IXmlDependency object.",
                          "xmlDependencyViewModel");
            }

            if (string.IsNullOrWhiteSpace(validDependencyDefinitonFilenameList))
            {
                throw new ArgumentNullException("validDependencyDefinitonFilenameList");
            }

            if (string.IsNullOrWhiteSpace(tpcUrl))
            {
                throw new ArgumentNullException("tpcUrl");
            }

            _accessService          = accessService;
            _resolverType           = type;
            _xmlDependencyViewModel = xmlDependencyViewModel;
            _xmlDependency          = xmlDependencyViewModel.XmlDependency;
            _validDependencyDefinitonFilenameList = validDependencyDefinitonFilenameList;
            _filter = filter;

            _validationErrors = new Dictionary <string, string>();

            if (string.IsNullOrEmpty(SelectedBinaryTeamProjectCollection))
            {
                SelectedBinaryTeamProjectCollection = tpcUrl;
            }

            ValidateAll();

            // TODO: Use setting to determine whether outputpath should be set automatically
            PropertyChanged += BinaryRepositoryDefinitionEditorViewModel_PropertyChanged;
        }
        public sealed override void Update(float deltaTime, ECSWorld world)
        {
            if (!initialized)
            {
                afterUpdateCommands = new EntityCommandBuffer(world);
                query       = GetQuery();
                filter      = GetComponentFilter();
                initialized = true;
            }
            BeforeUpdate(deltaTime, world);

            var blocks = world.ComponentManager.GetBlocks(query, filter);

            foreach (BlockAccessor block in blocks)
            {
                ProcessBlock(deltaTime, block);
            }
            afterUpdateCommands.Playback();
            AfterUpdate(deltaTime, world);
        }
 public CombinedFilterAll(IComponentFilter filter1, IComponentFilter filter2)
 {
     this.filter1 = filter1;
     this.filter2 = filter2;
 }
 public static CombinedFilterAll CombineAll(IComponentFilter filter1, IComponentFilter filter2, IComponentFilter filter3, IComponentFilter filter4, IComponentFilter filter5)
 => new CombinedFilterAll(filter1, new CombinedFilterAll(filter2, new CombinedFilterAll(filter3, new CombinedFilterAll(filter4, filter5))));
 public static CombinedFilterAll CombineAll(IComponentFilter filter1, IComponentFilter filter2, IComponentFilter filter3)
 => new CombinedFilterAll(filter1, new CombinedFilterAll(filter2, filter3));
 public static CombinedFilterAny CombineAny(IComponentFilter filter1, IComponentFilter filter2, IComponentFilter filter3, IComponentFilter filter4)
 => new CombinedFilterAny(filter1, new CombinedFilterAny(filter2, new CombinedFilterAny(filter3, filter4)));
 public static CombinedFilterAny CombineAny(IComponentFilter filter1, IComponentFilter filter2)
 => new CombinedFilterAny(filter1, filter2);