protected override JobHandle OnUpdate(JobHandle inputDeps) { RotatorJob rotatorJob = new RotatorJob() { deltaTime = Time.deltaTime }; return(rotatorJob.Schedule(this, inputDeps)); }
protected override void OnUpdate() { m_Job.Complete(); var jobData = new RotatorJob(); jobData.speeds = m_Speeds; jobData.deltaTime = Time.deltaTime; m_Job = jobData.Schedule(m_Transforms); }
// Update is called once per frame void Update() { jobHandle.Complete(); if (jobHandle.IsCompleted) { var rotatorJob = new RotatorJob() { deltaTime = Time.deltaTime, speeds = speeds }; jobHandle = rotatorJob.Schedule(transformAccessArray); JobHandle.ScheduleBatchedJobs(); } }
// Job Scheduling is handled in OnUpdate here protected override JobHandle OnUpdate(JobHandle inputDeps) { // For Loop example // We pass on the data from our entities to the job //var rotatorJob = new CubeRotatorForLoopJob //{ // rotations = cubes.rotations, // cubeFloaterComponent = cubes.cubeFloaterComponent, // dt = Time.deltaTime //}; //return rotatorJob.Schedule(cubes.Length, 64, inputDeps); // IJobProcessComponentData example var rotatorJob = new RotatorJob() { dt = Time.deltaTime }; return rotatorJob.Schedule(this, inputDeps); }
// Update is called once per frame void Update() { if (useJobSystem) { jobHandle.Complete(); var jobData = new RotatorJob(); jobData.speeds = objSpeed; jobData.deltaTime = Time.deltaTime; // main thread deltatime to job jobHandle = jobData.Schedule(targetsArray); } else { for (int i = 0; i < number; i++) { targets[i].localRotation = targets[i].rotation * Quaternion.AngleAxis(objSpeed[i] * Time.deltaTime, Vector3.up); } } }