Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }