public void WeaponGrabPointLetGo(GrabPointGrabFeature grabPoint)
        {
            if (activeGrabPoints.Contains(grabPoint))
            {
                activeGrabPoints.Remove(grabPoint);
            }

            HandleGrabPointLetGo(grabPoint);
        }
        public void WeaponGrabPointGrabbed(GrabPointGrabFeature grabPoint)
        {
            if (!activeGrabPoints.Contains(grabPoint))
            {
                activeGrabPoints.Add(grabPoint);
            }

            HandleGrabPointGrabbed(grabPoint);
        }
        protected override void HandleGrabPointLetGo(GrabPointGrabFeature grabPoint)
        {
            base.HandleGrabPointLetGo(grabPoint);

            if (grabPoint.Priority == GrabPointPriority.Primary)
            {
                InputController.Instance.UnregisterTriggerTriggeredNotify(grabPoint.Grabbable.ActiveGrabber.Hand, HandleTriggerTriggered);
            }

            activeGrabber = null;
        }
Example #4
0
        public void LetGo(GrabPointGrabFeature letGoPoint)
        {
            switch (letGoPoint.Priority)
            {
            case GrabPointPriority.Primary:
                onWeaponGrabPointLetGo?.Invoke(primaryGrabPoint);
                primaryGrabPoint = null;
                break;

            case GrabPointPriority.Secondary:
                onWeaponGrabPointLetGo?.Invoke(secondaryGrabPoint);
                secondaryGrabPoint = null;
                break;
            }

            isGrabbed = primaryGrabPoint != null || secondaryGrabPoint != null;
        }
Example #5
0
        public void Grab(GrabPointGrabFeature grabbedPoint)
        {
            if (grabbedPoint.Priority == GrabPointPriority.Primary)
            {
                primaryGrabPoint   = grabbedPoint;
                primaryGrabManager = primaryGrabPoint.Grabbable.ActiveGrabber;

                onWeaponGrabPointGrabbed?.Invoke(primaryGrabPoint);
            }
            else
            {
                secondaryGrabPoint   = grabbedPoint;
                secondaryGrabManager = secondaryGrabPoint.Grabbable.ActiveGrabber;

                onWeaponGrabPointGrabbed?.Invoke(secondaryGrabPoint);
            }

            isGrabbed = true;
        }
 protected virtual void HandleGrabPointLetGo(GrabPointGrabFeature grabPoint)
 {
 }