Exemplo n.º 1
0
    protected override JobHandle OnUpdate(JobHandle inputDeps)
    {
        JobHandle jobHandle = new ExplosionTriggerJob
        {
            explosionData    = GetComponentDataFromEntity <ExplosionVolumeData>(),
            rockGroup        = GetComponentDataFromEntity <RockData>(),
            translationGroup = GetComponentDataFromEntity <Translation>(),
        }
        .Schedule(stepWorld.Simulation, ref physWorld.PhysicsWorld, inputDeps);

        jobHandle.Complete();
        return(jobHandle);
    }
    protected override JobHandle OnUpdate(JobHandle inputDependencies)
    {
        inputDependencies = JobHandle.CombineDependencies(inputDependencies, buildPhysicsWorldSystem.FinalJobHandle);

        var physicsWorld = buildPhysicsWorldSystem.PhysicsWorld;

        var triggerJob = new ExplosionTriggerJob
        {
            damageGroup      = GetBufferFromEntity <Damage>(),
            explosionGroup   = GetComponentDataFromEntity <ExplosionComponent>(),
            enemiesGroup     = GetComponentDataFromEntity <AIData>(),
            translationGroup = GetComponentDataFromEntity <Translation>()
        };
        JobHandle collisionHandle =
            triggerJob.Schedule(stepPhysicsWorldSystem.Simulation, ref physicsWorld, inputDependencies);

        return(collisionHandle);
    }