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; }
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; }
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) { }