BattleCameraController.GetMousePosOnGrid C# (CSharp) Method

GetMousePosOnGrid() public method

public GetMousePosOnGrid ( ) : Vector3
return Vector3
    public Vector3 GetMousePosOnGrid()
    {
        projectionPlane.SetNormalAndPosition(Vector3.up, HexGridAssembler.singleton.transform.position);

        Vector3 mousePosInWorld = cam.ScreenToWorldPoint(Input.mousePosition);
        mouseRay.origin = mousePosInWorld;
        mouseRay.direction = cam.transform.forward;

        float mouseRayDist;
        projectionPlane.Raycast(mouseRay, out mouseRayDist);
        Vector3 camPoint = mouseRay.GetPoint(mouseRayDist);

        //Vector3.ProjectOnPlane()
        /*
        float mouseY = mousePosInWorld.y - HexGridAssembler.singleton.transform.position.y;
        Vector3 camToHitPointDirec = (cam.transform.forward / Mathf.Abs(cam.transform.forward.y)) * mouseY;
        Vector3 camPoint = cam.transform.position + camToHitPointDirec;
        */
        return camPoint;
    }