Exemplo n.º 1
0
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            if (currentObject == null)
            {
                RaycastHit hit;

                if (Physics.Raycast(playerMovement.camera.transform.position, playerMovement.camera.transform.forward, out hit, Mathf.Infinity))
                {
                    if (hit.collider.tag == "Crate" && hit.collider.gameObject != currentObject)
                    {
                        crate = hit.collider.gameObject.GetComponent <Crate>();
                        crate.Pickup();
                        currentObject = hit.collider.gameObject;
                        Debug.Log("Set Crate and picked up");
                    }
                    else if (hit.collider.tag == "Crate" && hit.collider.gameObject == currentObject)
                    {
                        crate.Drop();
                        crate         = null;
                        currentObject = null;
                        Debug.Log("Crate dropped and set to null");
                    }
                    else
                    {
                        Debug.Log("Object is not a crate");
                    }
                }
            }
            else
            {
                crate.Drop();
                currentObject = null;
            }
        }
    }