// Update is called once per frame
    void Update()
    {
        float newYPos       = transform.localPosition.y;
        bool  holdingHandle = false;
        bool  gripValue;
        bool  gripPressedValue = false;

        if (leftController != null &&
            (leftController.IsPressed(InputHelpers.Button.Grip, out gripValue) ||
             leftController.IsPressed(InputHelpers.Button.GripPressed, out gripPressedValue)) &&
            (gripValue || gripPressedValue))
        {
            if ((leftControllerGO.transform.position - handleGameObject.transform.position).magnitude < 0.1f)
            {
                holdingHandle = true;
                newYPos       = transform.parent.InverseTransformPoint(leftControllerGO.transform.position).y - handleGameObject.transform.localPosition.y;
            }
        }

        if (Input.GetKey("space"))
        {
            holdingHandle = true;
            newYPos       = maxY;
        }

        if (holdingHandle)
        {
        }
        else
        {
            newYPos = transform.localPosition.y + resetSpeed * Time.deltaTime;
        }
        newYPos = Mathf.Clamp(newYPos, maxY, startY);

        transform.localPosition = new Vector3(transform.localPosition.x, newYPos, transform.localPosition.z);
        bool shouldBurn = (newYPos - maxY) / (startY - maxY) < fireThreshold;

        balloon.throttleActive = shouldBurn;
    }
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
        bool triggerPressed;

        if (rightController != null && rightController.IsPressed(InputHelpers.Button.Trigger, out triggerPressed) && triggerPressed)
        {
            if (Time.time - lastShot > cooldown)
            {
                lastShot = Time.time;
                var spawnedArrow = Instantiate(arrow, transform.position, transform.rotation);
                var arrowRb      = spawnedArrow.GetComponentInChildren <Rigidbody>();
                arrowRb.velocity  = balloonrb.velocity;
                arrowRb.velocity += transform.forward * shootSpeed;
                Destroy(spawnedArrow, 10f);
                audioSource.Play();
            }
        }
    }