Пример #1
0
        void CopyToCamera(EntityQuery query)
        {
            query.SetChangedVersionFilter(typeof(LocalToWorld));
            var changedEntities = query.CalculateEntityCount();

            query.ResetFilter();
            if (changedEntities == 0)
            {
                Dependency = query.GetChangedTransformFromEntity(this, ref m_changedTransforms, Dependency);
                Dependency = query.CopyFromChangedComponentData(this, ref m_changedTransforms, Dependency);
                return;
            }
            var entities = query.ToEntityArrayAsync(Allocator.TempJob, out var toEntityHandle);

            Dependency = JobHandle.CombineDependencies(Dependency, toEntityHandle);
            Dependency = new CopyTransforms {
                LocalToWorldFromEntity = GetComponentDataFromEntity <LocalToWorld>(true),
                entities = entities
            }.Schedule(query.GetTransformAccessArray(), Dependency);
        }