示例#1
0
    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));
    }