Example #1
0
    public void setAmmunition(int newAmmo)
    {
        bool updateParent = newAmmo != currentAmmunition;

        if (newAmmo <= 0)
        {
            if (currentMagazine == 0)
            {
                setState(WeaponState.OUT_OF_AMMO);
            }
            else
            {
                setState(WeaponState.REALOAD);
                setMagazine(currentMagazine - 1);
            }
        }
        else
        {
            setState(WeaponState.READY);
            currentAmmunition = newAmmo;
        }

        if (updateParent)
        {
            CharacterControll parent = GetComponentInParent <CharacterControll>();
            if (parent != null)
            {
                parent.updateWeapon(this);
            }
        }
    }
Example #2
0
 public void onPlayerRespawn(CharacterControll controll)
 {
     setMagazine(magazine);
     setAmmunition(ammunition);
     timer      = 0;
     reloadTime = 0;
     if (controll != null)
     {
         controll.updateWeapon(this);
     }
 }
Example #3
0
 private void setState(WeaponState state)
 {
     if (this.weaponState != state)
     {
         weaponState = state;
         CharacterControll parent = GetComponentInParent <CharacterControll>();
         if (parent != null)
         {
             parent.updateWeapon(this);
         }
     }
 }