using Fusion; using UnityEngine; namespace BNG { public class GrabManager : GrabbableEvents { public bool grabed; public override void OnGrab(Grabber grabber) { GetComponent().RequestStateAuthority(); base.OnGrab(grabber); grabed = true; } public override void OnRelease() { base.OnRelease(); grabed = false; if(GetComponentInParent()){ if( (GetComponentInParent().isKinematic)){ NetworkObject netObj = GetComponent(); netObj.ReleaseStateAuthority(); netObj.RemoveInputAuthority(); } }else{ NetworkObject netObj = GetComponent(); netObj.ReleaseStateAuthority(); netObj.RemoveInputAuthority(); } } public void OnCollisionEnter(Collision collision) { if (!grabed && collision.gameObject.tag.Equals("remover")) { if (Object) Runner.Despawn(Object); /* NetworkObject netObj = GetComponent(); netObj.ReleaseStateAuthority(); netObj.RemoveInputAuthority();*/ } } public void Update() { mine = GetComponent().HasInputAuthority; } public bool mine; } }