public void UpdateDisplayedWeapon(WeaponInstance weaponInstance) { this.weaponInstance = weaponInstance; weaponNameText.text = weaponInstance.weaponData.Name; UpdateAmmoCount(); }
private void AddNewWeapon(WeaponData weaponData) { WeaponInstance weaponInstance = null; for (int i = 0; i < acquiredWeapons.Count; i++) { if (acquiredWeapons[i].weaponData == weaponData) { weaponInstance = acquiredWeapons[i]; break; } } if (weaponInstance == null) { weaponInstance = new WeaponInstance { weaponData = weaponData, weaponLogic = Instantiate(weaponData.WeaponLogic, transform).GetComponent <PlayerWeaponLogic>() }; acquiredWeapons.Add(weaponInstance); } else { weaponInstance.weaponLogic.transform.SetAsLastSibling(); } currentWeapons.Add(weaponInstance); bool isSelectedWeapon = weaponData == CurrentWeapon.weaponData; weaponInstance.weaponLogic.gameObject.SetActive(isSelectedWeapon); onWeaponSelected.Raise(CurrentWeapon); }