private void SpawnItem(Vector3 position, float itemSpawnPercent) { // get weapon types //Dictionary<WeaponType, int> types = _playerInventory.GetWeaponTypes(); //foreach (WeaponType type in types.Keys) //{ // Debug.Log(type + ": " + types[type]); //} // get weapon ammo percentage fills if (Random.value < itemSpawnPercent) { MiniAmmoBox miniAmmoBox = _miniAmmoBoxes.Pop(); miniAmmoBox.SpawnAtPosition(position, _miniAmmoBoxDisapearTime); } }
private void Awake() { _placesTaken = new HashSet <int>(); _enemiesAlive = _numberOfEnemies; _playerInventory = _player.GetComponentInChildren <Inventory>(); _miniAmmoBoxes = new Stack <MiniAmmoBox>(); for (int i = 0; i < 4; i++) { GameObject ammoBoxObject = Instantiate(_miniAmmoBoxProto, transform.position, Quaternion.identity); ammoBoxObject.SetActive(false); MiniAmmoBox miniAmmoBox = ammoBoxObject.GetComponent <MiniAmmoBox>(); miniAmmoBox._poolReturnDelegate = ReturnAmmoBox; miniAmmoBox._pickupAction = _playerInventory.AmmoPickup; _miniAmmoBoxes.Push(miniAmmoBox); } }