Ejemplo n.º 1
0
    private void OnCollisionEnter(Collision collision)
    {
        ColdOneController coldOne = collision.gameObject.GetComponent <ColdOneController>();

        if (coldOne)
        {
            GameObject shatteredObj = Instantiate(shatteredPrefab, transform.position, transform.rotation);
            Destroy(gameObject);

            foreach (Transform shatteredPiece in shatteredObj.transform)
            {
                shatteredPiece.GetComponent <Rigidbody>().AddForce(collision.relativeVelocity, ForceMode.Impulse);
            }
        }
    }
Ejemplo n.º 2
0
    void Update()
    {
        bool clicked = Input.GetMouseButtonDown(0);

        if (clicked && !heldColdOne)
        {
            GameObject clickedCan;
            if (ClickedPickup(out clickedCan))
            {
                // On click, disable physics, and set to current held object
                heldColdOne = clickedCan;
                ColdOneController coldOne = clickedCan.GetComponentInParent <ColdOneController>();
                coldOne.Open();
                print(coldOne);
                heldRBody = clickedCan.GetComponentInParent <Rigidbody>();

                heldRBody.isKinematic = true;
            }
        }

        if (heldColdOne)
        {
            // Move towards hold position

            Ray        toRay = mainCamera.ScreenPointToRay(Input.mousePosition);
            Vector3    toPos = toRay.origin + toRay.direction * holdDistance;
            Quaternion toRot = Quaternion.identity;

            heldColdOne.transform.MoveTowards(toPos);


            if (clicked && Vector3.Distance(heldColdOne.transform.position, toPos) < minHoldDist)
            {
                ThrowBall();
            }
        }


        CheckKillY();
    }