protected override JobHandle UpdateNewPredictedEntities(NativeArray <Entity> entities, JobHandle inputDeps)
    {
        var job = new SetPlayerStateJob
        {
            entities                = entities,
            snapshotFromEntity      = GetBufferFromEntity <ShipSnapshotData>(),
            shipStateFromEntity     = GetComponentDataFromEntity <ShipStateComponentData>(),
            playerEntities          = m_PlayerGroup.ToEntityArray(Allocator.TempJob),
            playerIds               = m_PlayerGroup.ToComponentDataArray <NetworkIdComponent>(Allocator.TempJob),
            commandTargetFromEntity = GetComponentDataFromEntity <CommandTargetComponent>(),
            commandBuffer           = World.GetExistingSystem <BeginSimulationEntityCommandBufferSystem>().CreateCommandBuffer().ToConcurrent() // FIXME: need to add the dependency to this too
        };

        return(job.Schedule(entities.Length, 8, inputDeps));
    }
예제 #2
0
    protected override JobHandle UpdateNewEntities(NativeArray <Entity> entities, JobHandle inputDeps)
    {
        var job = new SetPlayerStateJob
        {
            entities              = entities,
            snapshotFromEntity    = GetBufferFromEntity <ShipSnapshotData>(),
            emitterFromEntity     = GetComponentDataFromEntity <ParticleEmitterComponentData>(),
            shipStateFromEntity   = GetComponentDataFromEntity <ShipStateComponentData>(),
            emitterData           = GetSingleton <ClientSettings>().particleEmitter,
            playerEntities        = m_PlayerGroup.ToEntityArray(Allocator.TempJob),
            playerIds             = m_PlayerGroup.ToComponentDataArray <NetworkIdComponent>(Allocator.TempJob),
            playerStateFromEntity = GetComponentDataFromEntity <PlayerStateComponentData>()
        };

        return(job.Schedule(entities.Length, 8, inputDeps));
    }