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);
    }
        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);
        }