Exemplo n.º 1
0
        // Release conditions are a little different than grab
        bool inputCheckRelease()
        {
            var grabbingGrabbable = RemoteGrabbingItem ? flyingGrabbable : HeldGrabbable;

            // Can't release anything we're not holding
            if (grabbingGrabbable == null)
            {
                return(false);
            }

            // Check Hold Controls
            HoldType   closestHoldType   = getHoldType(grabbingGrabbable);
            GrabButton closestGrabButton = GetGrabButton(grabbingGrabbable);

            if (closestHoldType == HoldType.HoldDown)
            {
                return(getGrabInput(closestGrabButton) <= ReleaseGripAmount);
            }
            // Check for toggle controls
            else if (closestHoldType == HoldType.Toggle)
            {
                return(getToggleInput(closestGrabButton));
            }

            return(false);
        }
Exemplo n.º 2
0
        bool getToggleInput(GrabButton btn)
        {
            if (input == null)
            {
                return(false);
            }

            // Left Hand
            if (HandSide == ControllerHand.Left)
            {
                if (btn == GrabButton.Grip)
                {
                    return(input.LeftGripDown);
                }
                else if (btn == GrabButton.Trigger)
                {
                    return(input.LeftTriggerDown);
                }
            }
            // Right Hand
            else if (HandSide == ControllerHand.Right)
            {
                if (btn == GrabButton.Grip)
                {
                    return(input.RightGripDown);
                }
                else if (btn == GrabButton.Trigger)
                {
                    return(input.RightTriggerDown);
                }
            }

            return(false);
        }
Exemplo n.º 3
0
        public virtual bool GetInputDownForGrabbable(Grabbable grabObject)
        {
            if (grabObject == null)
            {
                return(false);
            }

            // Check Hold Controls
            HoldType   closestHoldType   = getHoldType(grabObject);
            GrabButton closestGrabButton = GetGrabButton(grabObject);

            // Hold to grab controls
            if (closestHoldType == HoldType.HoldDown)
            {
                bool grabInput = getGrabInput(closestGrabButton) >= GripAmount;

                if (closestGrabButton == GrabButton.Grip && !FreshGrip)
                {
                    return(false);
                }

                //if(HandSide == ControllerHand.Left && InputBridge.Instance.LeftTrigger > 0.9f) {
                //    Debug.Log("Trigger Down");
                //}

                return(grabInput);
            }
            // Check Toggle Controls
            else if (closestHoldType == HoldType.Toggle)
            {
                return(getToggleInput(closestGrabButton));
            }

            return(false);
        }
Exemplo n.º 4
0
 // Use this for initialization
 void Start()
 {
     if (!multiplayer)
     {
         mygrabbutton = FindObjectOfType <GrabButton>();
     }
 }
Exemplo n.º 5
0
 public void OnGrab(GrabButton _grab)
 {
     grab = _grab.grab;
     if (grab)
     {
         //Debug.Log("grab it hoe");
     }
 }
Exemplo n.º 6
0
 // Start is called before the first frame update
 void Start()
 {
     facingRight        = true;
     myRigidBody        = GetComponent <Rigidbody2D>();
     myAnimator         = GetComponent <Animator>();
     myBodyCollider     = GetComponent <CapsuleCollider2D>();
     myFeet             = GetComponent <CircleCollider2D>();
     myjoystick         = FindObjectOfType <Joystick>();
     myjumpbutton       = FindObjectOfType <JumpButton>();
     switchPlayerButton = FindObjectOfType <SwitchPlayerButton>();
     myattackbutton     = FindObjectOfType <AttackButton>();
     mygrabbutton       = FindObjectOfType <GrabButton>();
 }
Exemplo n.º 7
0
        public virtual GrabButton GetGrabButton(Grabbable grab)
        {
            GrabButton grabButton = grab.GrabButton;

            // Inherit from Grabber
            if (grabButton == GrabButton.Inherit)
            {
                grabButton = DefaultGrabButton;
            }

            // Inherit isn't a value in itself. Use "Grip" instead and warn the user
            if (grabButton == GrabButton.Inherit)
            {
                grabButton = GrabButton.Grip;
                Debug.LogWarning("Inherit found on both Grabber and Grabbable. Consider updating the Grabber's DefaultHoldType");
            }

            return(grabButton);
        }
Exemplo n.º 8
0
        float getGrabArrowInput()
        {
            // If we are holding an arrow, check the arrow details for input
            if (arrowGrabber != null && arrowGrabbable != null)
            {
                GrabButton grabButton = arrowGrabber.GetGrabButton(arrowGrabbable);

                // Grip Controls
                if (grabButton == GrabButton.Grip)
                {
                    return(getGripInput(arrowGrabber.HandSide));
                }
                // Trigger
                else if (grabButton == GrabButton.Trigger)
                {
                    return(getTriggerInput(arrowGrabber.HandSide));
                }
            }

            return(0);
        }
Exemplo n.º 9
0
        // See if we are inputting controls to grab an item
        protected virtual bool inputCheckGrab()
        {
            // Can only hold one grabbable at a time
            if (HeldGrabbable != null)
            {
                return(false);
            }

            // Nothing nearby to grab
            Grabbable closest = getClosestOrRemote();

            if (closest == null)
            {
                return(false);
            }

            // Check Hold Controls
            HoldType   closestHoldType   = getHoldType(closest);
            GrabButton closestGrabButton = GetGrabButton(closest);

            // Hold to grab controls
            if (closestHoldType == HoldType.HoldDown)
            {
                bool grabInput = getGrabInput(closestGrabButton) >= GripAmount;

                if (closestGrabButton == GrabButton.Grip && !FreshGrip)
                {
                    return(false);
                }

                return(grabInput);
            }
            // Toggle controls
            else if (closestHoldType == HoldType.Toggle)
            {
                return(getToggleInput(closestGrabButton));
            }

            return(false);
        }
Exemplo n.º 10
0
        float getGrabInput(GrabButton btn)
        {
            float gripValue = 0;

            if (input == null)
            {
                return(0);
            }

            // Left Hand
            if (HandSide == ControllerHand.Left)
            {
                if (btn == GrabButton.Grip)
                {
                    gripValue = input.LeftGrip;
                }
                else if (btn == GrabButton.Trigger)
                {
                    gripValue = input.LeftTrigger;
                }
            }
            // Right Hand
            else if (HandSide == ControllerHand.Right)
            {
                if (btn == GrabButton.Grip)
                {
                    gripValue = input.RightGrip;
                }
                else if (btn == GrabButton.Trigger)
                {
                    gripValue = input.RightTrigger;
                }
            }

            return(gripValue);
        }
Exemplo n.º 11
0
 // Use this for initialization
 void Start()
 {
     mygrabbutton = FindObjectOfType <GrabButton>();
 }