Пример #1
0
    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;
    }
Пример #2
0
    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;
        }
    }
Пример #3
0
    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);
    }