Example #1
0
    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);
    }
Example #2
0
    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);
        }