Exemplo n.º 1
0
    private int CountAmmoInInventory()
    {
        C_AmmoOnGun component = this._equippedItem.GetComponent <C_AmmoOnGun>();
        int         num       = component.MaximumClipSize;

        num -= component._currentAmmo;
        int num2 = 0;
        List <C_PickupItem> list = new List <C_PickupItem>();

        foreach (C_PickupItem c_PickupItem in this.PlayerInventory.Items)
        {
            if (c_PickupItem.ItemName == component.AmmoItemName)
            {
                int num3 = c_PickupItem.GetComponent <C_AmmoInClip>().m_CurrentAmmo;
                if (num3 <= num)
                {
                    num2 += num3;
                    num  -= num3;
                }
                else
                {
                    num2 += num3;
                    num3 -= num;
                }
                if (num2 <= 0)
                {
                    break;
                }
            }
        }
        return(num2);
    }
Exemplo n.º 2
0
 public void TryReloadEquippedItem()
 {
     if (this._equippedItem != null)
     {
         C_AmmoOnGun component = this._equippedItem.GetComponent <C_AmmoOnGun>();
         // SUPERGUN check
         if (God.Settings.Supergun)
         {
             component.Reload(component.MaximumClipSize, true);
         }
         if (component == null)
         {
             return;
         }
         if (component._currentAmmo == component.MaximumClipSize)
         {
             return;
         }
         if (component._isReloading)
         {
             return;
         }
         if (component != null)
         {
             if (God.Settings.InfiniteAmmo)
             {
                 component.Reload(component.MaximumClipSize, true);
             }
             else
             {
                 int num = this.CountAmmoInInventory();
                 if (num > 0)
                 {
                     component.Reload(num, true);
                     if (component.ReloadSound != null)
                     {
                         this.PlaySound(component.ReloadSound, base.transform.position);
                     }
                     this.m_pC_FPSPlayer.Reload();
                     this.m_ReloadStateSet = true;
                     return;
                 }
                 if (component.NoAmmoSound != null)
                 {
                     this.PlaySound(component.NoAmmoSound, base.transform.position);
                 }
             }
         }
     }
 }
Exemplo n.º 3
0
    private int UpdateAmmoInInventory()
    {
        C_AmmoOnGun component = this._equippedItem.GetComponent <C_AmmoOnGun>();
        int         num       = component.MaximumClipSize;

        num -= component._currentAmmo;
        int num2 = 0;

        Log.Message(string.Concat(new object[]
        {
            "looking to fill with ",
            num,
            " rounds of ",
            component.AmmoItemName
        }));
        List <C_PickupItem> list = new List <C_PickupItem>();

        foreach (C_PickupItem c_PickupItem in this.PlayerInventory.Items)
        {
            if (c_PickupItem.ItemName == component.AmmoItemName)
            {
                int currentAmmo = c_PickupItem.GetComponent <C_AmmoInClip>().m_CurrentAmmo;
                if (currentAmmo <= num)
                {
                    num2 += currentAmmo;
                    list.Add(c_PickupItem);
                    num -= currentAmmo;
                }
                else
                {
                    num2 += currentAmmo;
                    c_PickupItem.GetComponent <C_AmmoInClip>().m_CurrentAmmo = currentAmmo - num;
                    num -= currentAmmo;
                    Log.Message("THis clip removing only " + currentAmmo + " rounds");
                }
                if (num <= 0)
                {
                    break;
                }
            }
        }
        foreach (C_PickupItem item in list)
        {
            this.PlayerInventory.RemoveItem(item, true);
        }
        return(num2);
    }
Exemplo n.º 4
0
 private void CancelCurrentWeaponStates()
 {
     if (this._equippedItem != null)
     {
         C_AmmoOnGun component = this._equippedItem.GetComponent <C_AmmoOnGun>();
         if (component != null)
         {
             component.StopReload();
         }
     }
     this.m_pC_FPSPlayer.StopWeaponRunState();
     this.m_pC_FPSPlayer.StopWeaponZoomState();
     this.m_pC_FPSPlayer.StopWeaponReloadState();
     this.m_pC_FPSPlayer.StopWeaponCrouchState();
     this.m_pC_FPSPlayer.SetState("Zoom", false);
     base.audio.Stop();
 }
Exemplo n.º 5
0
 private void ReApplyCurrentWeaponStates()
 {
     if (this._equippedItem != null)
     {
         C_AmmoOnGun component = this._equippedItem.GetComponent <C_AmmoOnGun>();
         if (component != null)
         {
             component.StopReload();
         }
     }
     if (this.m_pC_FPSPlayer.m_IsRunning)
     {
         this.m_pC_FPSPlayer.StartWeaponRunState();
     }
     if (this.m_pC_FPSPlayer.m_IsCrouching)
     {
         this.m_pC_FPSPlayer.StartWeaponCrouchState();
     }
 }
Exemplo n.º 6
0
 public void CheckReloadStatus()
 {
     if (!this.m_ReloadStateSet)
     {
         return;
     }
     if (this._equippedItem != null)
     {
         C_AmmoOnGun component = this._equippedItem.GetComponent <C_AmmoOnGun>();
         if (component == null)
         {
             return;
         }
         if (!component._isReloading)
         {
             this.m_pC_FPSPlayer.SetState("Reload", false);
             this.m_ReloadStateSet = false;
         }
     }
 }
Exemplo n.º 7
0
 public void DoneReloadEquippedItem()
 {
     if (this._equippedItem != null)
     {
         C_AmmoOnGun component = this._equippedItem.GetComponent <C_AmmoOnGun>();
         if (component == null)
         {
             return;
         }
         if (component._currentAmmo == component.MaximumClipSize)
         {
             return;
         }
         if (component != null)
         {
             // SUPERGUN Check
             if (God.Settings.InfiniteAmmo || God.Settings.Supergun)
             {
                 component.Reload(component.MaximumClipSize, true);
             }
             else
             {
                 int num = this.UpdateAmmoInInventory();
                 if (num > 0)
                 {
                     component._currentAmmo += num;
                     if (component._currentAmmo > component.MaximumClipSize)
                     {
                         component._currentAmmo = component.MaximumClipSize;
                     }
                     return;
                 }
                 this.PlaySound(component.NoAmmoSound, base.transform.position);
             }
         }
     }
 }