protected override JobHandle OnUpdate(JobHandle inputDeps) { var colliders = m_AABBGroup.ToComponentDataArray <AABB>(Allocator.TempJob); var mousePos = Input.mousePosition; Ray ray = Camera.main.ScreenPointToRay(mousePos); if (Physics.Raycast(ray, out RaycastHit hit)) { if (hit.collider != null) { mousePos = new float3(hit.point.x, 0, hit.point.z); } } var job = new PlayerUnitMovementJob { mousePos = mousePos, Colliders = colliders, ray = ray }; var jobHandle = job.Schedule(this, inputDeps); jobHandle.Complete(); colliders.Dispose(); return(jobHandle); }
protected override JobHandle OnUpdate(JobHandle inputDeps) { var mousePos = Input.mousePosition; Ray ray = Camera.main.ScreenPointToRay(mousePos); if (Physics.Raycast(ray, out RaycastHit hit)) { if (hit.collider != null) { mousePos = new float3(hit.point.x, 0, hit.point.z); } } var job = new PlayerUnitMovementJob { mousePos = mousePos }; return(job.Schedule(this, inputDeps)); }