36 lines
961 B
C#
36 lines
961 B
C#
using Assets.HurricaneVR.Framework.Shared.Utilities;
|
|
using HurricaneVR.Framework.Core;
|
|
using HurricaneVR.Framework.Core.Grabbers;
|
|
using UnityEngine;
|
|
|
|
namespace HurricaneVR.Framework.Weapons.Guns
|
|
{
|
|
public class HVRAutoDropMagazine : HVRSocket
|
|
{
|
|
public HVRSocket MagazineSocket;
|
|
|
|
|
|
protected override void OnHoverEnter(HVRGrabbable grabbable)
|
|
{
|
|
ForceRelease();
|
|
if (MagazineSocket && IsValid(grabbable) && grabbable.HandGrabbers.Count > 0)
|
|
{
|
|
Debug.Log($"drop");
|
|
MagazineSocket.ForceRelease();
|
|
}
|
|
}
|
|
|
|
public override bool IsValid(HVRGrabbable grabbable)
|
|
{
|
|
if (!MagazineSocket || !MagazineSocket.IsGrabbing)
|
|
return false;
|
|
|
|
return MagazineSocket.IsValid(grabbable);
|
|
}
|
|
|
|
public override bool CanGrab(HVRGrabbable grabbable)
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
} |