protected override JobHandle OnUpdate(JobHandle inputDeps)
    {
        var job = new PlayerShootingJob
        {
            CommandBuffer = bufferSystem.CreateCommandBuffer(),
            DeltaTime     = Time.deltaTime
        };

        return(job.Schedule(this, inputDeps));
    }
Exemplo n.º 2
0
    protected override JobHandle OnUpdate(JobHandle inputDeps)
    {
        var playerShootingJobHandle = new PlayerShootingJob
        {
            commandBuffer = m_beginSimEcbSystem.CreateCommandBuffer().ToConcurrent(), // Each system that uses the EntityCommandBuffer provided by a command buffer system must call CreateCommandBuffer() to create its own command buffer instance.
            isFiring      = Input.GetButton("Fire1")
        }.Schedule(this, inputDeps);

        m_beginSimEcbSystem.AddJobHandleForProducer(playerShootingJobHandle); // Dependency ensures buffer system waits for Job to complete before executing the command buffer.

        return(playerShootingJobHandle);
    }
Exemplo n.º 3
0
    protected override JobHandle OnUpdate(JobHandle inputDeps)
    {
        var commandBuffer = m_Barrier.CreateCommandBuffer().ToConcurrent();
        var job           = new PlayerShootingJob
        {
            CommandBuffer = commandBuffer,
            IsFiring      = Input.GetButton("Fire1"),
            CurrentTime   = Time.time
        }.Schedule(this, inputDeps);

        m_Barrier.AddJobHandleForProducer(job);
        return(job);
    }
Exemplo n.º 4
0
 protected override JobHandle OnUpdate(JobHandle inputDeps)
 {
     if (ECSWorld.Instance.isStart)
     {
         _weaponEntities = _query.ToEntityArray(Allocator.TempJob);
         var job = new PlayerShootingJob()
         {
             Entities            = _weaponEntities,
             EntityCommandBuffer = _barrier.CreateCommandBuffer(),
             FireStartTime       = Time.time,
         };
         var jobHandle = job.Schedule(_weaponEntities.Length, 64, inputDeps);
         jobHandle.Complete();
         _weaponEntities.Dispose();
         return(jobHandle);
     }
     else
     {
         return(inputDeps);
     }
 }
Exemplo n.º 5
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            if (Input.GetButton("Fire1"))
            {
                _buffer = _barrier.CreateCommandBuffer();
                if (_weaponEntities != null && _weaponEntities.Length > 0)
                {
                    _weaponEntities.Dispose();
                }
                _weaponEntities = _query.ToEntityArray(Allocator.TempJob);
                var job = new PlayerShootingJob()
                {
                    Entities            = _weaponEntities,
                    EntityCommandBuffer = _buffer,
                    FireStartTime       = Time.time,
                };
                inputDeps = job.Schedule(_weaponEntities.Length, 1, inputDeps);
                _barrier.AddJobHandleForProducer(inputDeps);
            }

            return(inputDeps);
        }