Esempio n. 1
0
    public void Grab()
    {
        // attempt to drag something
        Collider col = CheckInRange(grabLayer, ColliderIsDraggable);

        if (col != null)
        {
            // reset grab
            if (breakable != null)
            {
                breakable.BreakStop();
                breakable = null;
            }

            // we are now dragging something
            Debug.Log("Grabbed: " + col.name);
            draggable           = col.GetComponent <Draggable>();
            joint.connectedBody = col.GetComponent <Rigidbody>();

            if (!healthManager.isSweating)
            {
                healthManager.SweatToggle();
            }

            return;
        }

        // attempt to pull something off if nothing to drag
        col = CheckInRange(breakLayer, ColliderIsBreakable);
        if (col != null)
        {
            // reset grab
            if (draggable != null)
            {
                draggable           = null;
                joint.connectedBody = null;
            }
            if (breakable != null)
            {
                breakable.BreakStop();
            }

            // we are now breaking something
            breakable = col.GetComponent <Breakable>();
            breakable.BreakStart(transform.position);


            if (!healthManager.isSweating)
            {
                healthManager.SweatToggle();
            }

            return;
        }

        Debug.Log("Grabbed: nothing :(");
    }