Exemple #1
0
    public void CanShoot()
    {
        if (chamberedRound == true)
        {
            Shoot();
            chamberedRound = false;
            if (gun_magazine != null && gun_magazine.AmmunitionCheck(gun_magazine.CURRENT_MAG_SIZE))
            {
                gun_magazine.CURRENT_MAG_SIZE = gun_magazine.CURRENT_MAG_SIZE - 1;
                gun_magazine.cartridgeHeight.gameObject.SetActive(true);
                chamberedRound = true;
            }

            if (gun_magazine.CURRENT_MAG_SIZE == 0)
            {
                gun_magazine.cartridgeHeight.gameObject.SetActive(false);
            }
            disableBulletHeightRenderer = false;
        }
        else
        {
            Debug.Log("Ammunition Check Failed - OUT OF AMMO!");
            //disableBulletHeightRenderer = true;
            chamberedRound = false;
            if (gun_magazine != null)
            {
                magEjectSfx.Play();
            }
            EjectMagazine();
        }
    }
Exemple #2
0
 public void AttachMagazine(Collider magazine)
 {
     gunMag = magazine.gameObject;
     //gunMagVar = magazine.GetComponent<GunMagazine>();
     gunMag.gameObject.tag = "NonGrabable";
     gunMag.GetComponent <Transform>().parent = null;                                              // setting null to detach from controller
     gun_magazine = magazine.GetComponent <GunMagazine>();
     gunMag.GetComponent <Transform>().parent = GameObject.FindGameObjectWithTag("Gun").transform; //this needs to change to have mag go to correct gun if multiple guns exist
     gunMag.GetComponent <Transform>().GetComponent <Transform>().localPosition = new Vector3(10.193f, -0.404f, -6.474f);
     gunMag.GetComponent <Transform>().GetComponent <Transform>().localRotation = Quaternion.Euler(0, 0, 0);
     gunMag.GetComponent <BoxCollider>().enabled   = false;
     gunMag.GetComponent <Rigidbody>().isKinematic = true;
     reloadSfx.Play();
     if (gun_magazine.AmmunitionCheck(gun_magazine.CURRENT_MAG_SIZE) && chamberedRound == false)
     {
         chamberedRound = true;
         gun_magazine.CURRENT_MAG_SIZE = gun_magazine.CURRENT_MAG_SIZE - 1;
         if (gun_magazine.CURRENT_MAG_SIZE > 0)
         {
             gun_magazine.cartridgeHeight.gameObject.SetActive(true);
         }
         else
         {
             gun_magazine.cartridgeHeight.gameObject.SetActive(false);
         }
     }
 }