protected override JobHandle OnUpdate(JobHandle inputDeps) { var destroyGroup = GetComponentDataFromEntity <DestroyOnContact>(true); var towerGroup = GetComponentDataFromEntity <TowerTag>(true); var aiDataGroup = GetComponentDataFromEntity <AIData>(true); var ecb = ecbSystem.CreateCommandBuffer(); var destroyCollisionJob = new DestroyCollisionJob { ecb = ecb, destroyGroup = destroyGroup, towerGroup = towerGroup, aiDataGroup = aiDataGroup }; destroyCollisionJob.Schedule(_stepPhysicsWorld.Simulation, ref _buildPhysicsWorld.PhysicsWorld, inputDeps) .Complete(); return(inputDeps); }
protected override JobHandle OnUpdate(JobHandle inputDeps) { DestroyOnTriggerJob destroyOnTriggerJob = new DestroyOnTriggerJob { entityCommandBuffer = endSimulationEntityCommandBuffer.CreateCommandBuffer(), destroyOnContactGroup = GetComponentDataFromEntity <DestroyOnContactTag>(true) }; JobHandle jobHandleTrigger = destroyOnTriggerJob.Schedule(stepPhysicsWorld.Simulation, ref buildPhysicsWorld.PhysicsWorld, inputDeps); jobHandleTrigger.Complete(); DestroyCollisionJob destroyCollisionJob = new DestroyCollisionJob { entityCommandBuffer = endSimulationEntityCommandBuffer.CreateCommandBuffer(), destroyOnContactGroup = GetComponentDataFromEntity <DestroyOnContactTag>(true) }; JobHandle jobHandleCollision = destroyOnTriggerJob.Schedule(stepPhysicsWorld.Simulation, ref buildPhysicsWorld.PhysicsWorld, inputDeps); jobHandleCollision.Complete(); return(inputDeps); }
protected override JobHandle OnUpdate(JobHandle inputDeps) { var destroyOnContactGroup = GetComponentDataFromEntity <DestoryOnContact>(true); var ecb = ecbSystem.CreateCommandBuffer(); var destroyTriggerJob = new DestroyTriggerJob { ecb = ecb, destroyOnContactGroup = destroyOnContactGroup }; var destroyCollisionJob = new DestroyCollisionJob { ecb = ecb, destroyOnContactGroup = destroyOnContactGroup }; destroyTriggerJob.Schedule(stepPhysicsWorld.Simulation, ref buildPhysicsWorld.PhysicsWorld, inputDeps).Complete(); destroyCollisionJob.Schedule(stepPhysicsWorld.Simulation, ref buildPhysicsWorld.PhysicsWorld, inputDeps).Complete(); return(inputDeps); }