protected override void OnUpdate() { int queryLength = m_query.CalculateEntityCount(); if (queryLength > m_transforms.capacity) { m_transforms.Dispose(); m_transforms = new TransformAccessArray(queryLength); } int transformsLength = m_transforms.length; for (int i = 0; i < transformsLength; i++) { m_transforms.RemoveAtSwapBack(i); } var jh = Dependency; Dependency = default; Entities.ForEach((CameraManager manager) => { m_transforms.Add(manager.camera.transform); }).WithoutBurst().Run(); var ltws = m_query.ToComponentDataArrayAsync <LocalToWorld>(Allocator.TempJob, out var jh2); Dependency = new CopyTransformsJob { ltws = ltws }.Schedule(m_transforms, JobHandle.CombineDependencies(jh, jh2)); Dependency = ltws.Dispose(Dependency); }
protected override JobHandle OnUpdate(JobHandle inputDeps) { var copyTransformsJob = new CopyTransformsJob { LocalToWorlds = _query.ToComponentDataArray <LocalToWorld>(Allocator.TempJob, out inputDeps), }; return(copyTransformsJob.Schedule(_transformAa, inputDeps)); }
protected override JobHandle OnUpdate(JobHandle inputDeps) { NativeArray <PosRot> posRots = new NativeArray <PosRot>(_transformList.Count, Allocator.TempJob); new GatherData { posRots = posRots }.Schedule(_query, inputDeps).Complete(); var copyTransformsJob = new CopyTransformsJob { posRots = posRots }; return(copyTransformsJob.Schedule(_transformAa, inputDeps)); }