Exemplo n.º 1
0
    private void Update()
    {
        RaycastHit hit;
        Vector3    fwd = transform.TransformDirection(Vector3.forward);

        if (Physics.Raycast(transform.position, fwd, out hit, rayLength, layerMaskInteract.value))
        {
            if (hit.collider.CompareTag("InteractObject"))
            {
                if (!doOnce)
                {
                    raycastedObj = hit.collider.gameObject.GetComponent <objectController>();
                    raycastedObj.ShowObjectName();
                    CrosshairChange(true);
                }
                isCrosshairActive = true;
                doOnce            = true;

                if (Input.GetMouseButton(0))
                {
                    raycastedObj.ShowDesc();
                }
            }
        }
        else
        {
            if (isCrosshairActive)
            {
                raycastedObj.HideObjectName();
                CrosshairChange(false);
                doOnce = false;
            }
        }
    }
Exemplo n.º 2
0
    public void DetermineDragDirection()
    {
        objectController objCon  = transform.parent.gameObject.GetComponent <objectController>();
        float            newPosX = Input.mousePosition.x;
        float            newPosY = Input.mousePosition.y;

        if (transform.GetComponentInParent <objectController>().allowInteraction) //if the interaction is allowed
        {
            if (Mathf.Abs(newPosX - posX) >= Mathf.Abs(newPosY - posY))           //left-right
            {
                if (newPosX >= posX)
                {
                    objCon.moveAdjacent(gridPosH, gridPosW, 1, true);    //right
                }
                else
                {
                    objCon.moveAdjacent(gridPosH, gridPosW, 0, true);    //left
                }
            }
            else                                                                //up-down
            {
                if (newPosY >= posY)
                {
                    objCon.moveAdjacent(gridPosH, gridPosW, 2, true);     //up
                }
                else
                {
                    objCon.moveAdjacent(gridPosH, gridPosW, 3, true);     //down
                }
            }
        }
    }