Example #1
0
 void RemoveWeapon(int IndexWeaponToRemove, bool bRemoveOnlyLast = false, bool bRemoveAllExceptFirst = false)
 {
     if (Weapons.Length > 0)
     {
         if (bRemoveAllExceptFirst)
         {
             M_Weapon _Tampon = Weapons[0];
             Weapons    = new M_Weapon[1];
             Weapons[0] = _Tampon;
         }
         else if (bRemoveOnlyLast)
         {
             M_Weapon[] _Tampon = new M_Weapon[Weapons.Length - 1];
             for (int i = 0; i < _Tampon.Length; i++)
             {
                 _Tampon[i] = Weapons[i];
             }
             Weapons = _Tampon;
         }
         else
         {
             M_Weapon[] _Tampon      = new M_Weapon[Weapons.Length - 1];
             int        CurrentIndex = 0;
             for (int i = 0; i < Weapons.Length; i++)
             {
                 if (i != IndexWeaponToRemove)
                 {
                     _Tampon[CurrentIndex] = Weapons[i];
                     CurrentIndex++;
                 }
             }
             Weapons = _Tampon;
         }
     }
 }
Example #2
0
    public void PoolRecycle()
    {
        if (M_Weapon)
        {
            M_Weapon.PoolRecycle();
            M_Weapon = null;
        }

        if (M_Shield)
        {
            M_Shield.PoolRecycle();
            M_Shield = null;
        }

        if (M_Pack)
        {
            M_Pack.PoolRecycle();
            M_Pack = null;
        }

        if (M_MA)
        {
            M_MA.PoolRecycle();
            M_MA = null;
        }
    }
Example #3
0
 void AddWeapon(M_Weapon WeaponAdded)
 {
     M_Weapon[] _Tampon = new M_Weapon[Weapons.Length + 1];
     for (int i = 0; i < Weapons.Length; i++)
     {
         _Tampon[i] = Weapons[i];
     }
     _Tampon[Weapons.Length] = WeaponAdded;
     Weapons = _Tampon;
 }