Beispiel #1
0
    protected override JobHandle DelayedUpdateBuffer(JobHandle inputDependencies)
    {
        var jobHandle = new EntityMorphingJob
        {
            CommandBuffer    = endSimulationCommandBuffer,
            spawner          = spawner,
            targetEntityType = targetEntityType,
            multiplier       = Multiplier
        }.Schedule(this, inputDependencies);

        return(jobHandle);
    }
Beispiel #2
0
    protected override JobHandle DelayedUpdateBuffer(JobHandle inputDependencies)
    {
        var jobHandle = new EntityMorphingJob
        {
            CommandBuffer    = endSimulationCommandBuffer,
            spawner          = spawner,
            random           = new Random((uint)(UnityEngine.Random.value * 100 + 1)),
            targetEntityType = targetEntityType,
            morphChance      = MorphChance
        }.Schedule(this, inputDependencies);

        return(jobHandle);
    }
Beispiel #3
0
    protected override JobHandle DelayedUpdate(JobHandle inputDependencies)
    {
        EntityCommandBuffer.Concurrent commandBuffer = m_Barrier.CreateCommandBuffer().ToConcurrent();

        NativeArray <SpawnerGardenEntity> spawnerArray = spawnerQuery.ToComponentDataArray <SpawnerGardenEntity>(Allocator.TempJob);
        var spawner = spawnerArray[0];

        var jobHandle = new EntityMorphingJob
        {
            CommandBuffer    = commandBuffer,
            spawner          = spawner,
            targetEntityType = targetEntityType,
            multiplier       = Multiplier
        }.Schedule(this, inputDependencies);

        m_Barrier.AddJobHandleForProducer(jobHandle);

        spawnerArray.Dispose();

        return(jobHandle);
    }