protected override void OnUpdate() { var dcb = latiosWorld.syncPoint.CreateDestroyCommandBuffer().AsParallelWriter(); var bulletLayer = sceneBlackboardEntity.GetCollectionComponent <BulletCollisionLayer>(true).layer; var wallLayer = sceneBlackboardEntity.GetCollectionComponent <WallCollisionLayer>(true).layer; var processor = new DestroyBulletsThatHitWallsProcessor { dcb = dcb }; Dependency = Physics.FindPairs(bulletLayer, wallLayer, processor).ScheduleParallel(Dependency); }
protected override void OnUpdate() { var ecbPackage = m_ecbSystem.CreateCommandBuffer(); var ecb = ecbPackage.ToConcurrent(); var bulletLayer = sceneGlobalEntity.GetCollectionComponent <BulletCollisionLayer>(true).layer; var wallLayer = sceneGlobalEntity.GetCollectionComponent <WallCollisionLayer>(true).layer; var processor = new DestroyBulletsThatHitWallsProcessor { ecb = ecb }; Dependency = Physics.FindPairs(bulletLayer, wallLayer, processor).ScheduleParallel(Dependency); m_ecbSystem.AddJobHandleForProducer(Dependency); }