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; } } }
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; } }
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; }