示例#1
0
    void Update()
    {
        // Hold an object
        if (controller.GetPressDown(grip) && holdable != null)
        {
            currentlyHolding = holdable;
            currentlyHolding.Hold(transform);
            ToggleModelsActive();
        }

        // Holds and snaps an object
        if (controller.GetPressDown(touchPad) && holdable != null)
        {
            currentlyHolding = holdable;
            currentlyHolding.HoldSnap(transform);
            ToggleModelsActive();
        }

        // Drops the held object
        if ((controller.GetPressUp(grip) || controller.GetPressUp(touchPad)) && currentlyHolding != null)
        {
            currentlyHolding.Drop(controller.velocity, controller.angularVelocity);
            currentlyHolding = null;
            ToggleModelsActive();
        }

        // If held object is gun, shoot
        if (controller.GetPressDown(trigger) && currentlyHolding != null)
        {
            var gun = currentlyHolding.gameObject.GetComponent <Shooting>();
            if (gun != null)
            {
                gun.Shoot();
            }
        }

        // Move Slider
        if (controller.GetPress(trigger) && slider != null)
        {
            slider.Move(transform);
        }

        // Press Button
        if (controller.GetPressDown(trigger) && button != null)
        {
            button.Press();
        }

        // Scene reset
        if (controller.GetPressDown(menu))
        {
            SceneManager.LoadScene(SceneManager.GetActiveScene().name);
        }
    }
示例#2
0
    void Update()
    {
        // Hold an object
        if (Input.GetKeyDown(KeyCode.E) && holdable != null)
        {
            currentlyHolding = holdable;
            currentlyHolding.Hold(transform);
        }

        // Holds and snaps an object
        if (Input.GetKeyDown(KeyCode.R) && holdable != null)
        {
            currentlyHolding = holdable;
            currentlyHolding.HoldSnap(transform);
        }

        // Drops the held object
        if ((Input.GetKeyUp(KeyCode.E) || Input.GetKeyUp(KeyCode.R)) && currentlyHolding != null)
        {
            currentlyHolding.Drop(rb.velocity, rb.angularVelocity);
            currentlyHolding = null;
        }

        // Hold snap toggle
        if (Input.GetKeyDown(KeyCode.T))
        {
            if (!holdToggle && holdable != null)
            {
                currentlyHolding = holdable;
                currentlyHolding.HoldSnap(transform);
                holdToggle = true;
            }
            else if (holdToggle && currentlyHolding != null)
            {
                currentlyHolding.Drop(rb.velocity, rb.angularVelocity);
                currentlyHolding = null;
                holdToggle       = false;
            }
        }

        // Press button
        if (Input.GetKeyDown(KeyCode.F) && button != null)
        {
            button.Press();
        }

        if (Input.GetKey(KeyCode.E) && slider != null)
        {
            slider.Move(transform);
        }

        // If held object is gun, shoot
        if (Input.GetMouseButtonDown(0) && currentlyHolding != null)
        {
            var gun = currentlyHolding.GetComponent <Shooting>();
            if (gun != null)
            {
                gun.Shoot();
            }
        }

        if (Input.GetMouseButtonDown(1))
        {
            Teleport.Tele(transform.parent, transform.parent);
        }
    }