public void LoadMagazine(Magazine_Interactable mag) { magWell.ForceSnap(mag.gameObject); attachedMag = mag; Rigidbody magBody = mag.GetComponent <Rigidbody>(); Collider magCol = mag.GetComponent <Collider>(); magBody.useGravity = false; magBody.isKinematic = true; magCol.isTrigger = true; mag.isGrabbable = true; }
public void UnLoadMagazine() { if (attachedMag) { magWell.ForceUnsnap(); Rigidbody magBody = attachedMag.GetComponent <Rigidbody>(); Collider magCol = attachedMag.GetComponent <Collider>(); magBody.useGravity = true; magBody.isKinematic = false; magCol.isTrigger = false; attachedMag.isGrabbable = true; attachedMag = null; } }
public void OnObjectEnteredSnapDropZone(object sender, SnapDropZoneEventArgs e) { Magazine_Interactable mag = e.snappedObject.GetComponent <Magazine_Interactable>(); if (!mag) { mag = e.snappedObject.GetComponentInChildren <Magazine_Interactable>(); } if (!mag) { mag = e.snappedObject.GetComponentInParent <Magazine_Interactable>(); } if (!mag) { return; } LoadMagazine(mag); }