Ejemplo n.º 1
0
        public void UpdateDisplayedWeapon(WeaponInstance weaponInstance)
        {
            this.weaponInstance = weaponInstance;

            weaponNameText.text = weaponInstance.weaponData.Name;

            UpdateAmmoCount();
        }
Ejemplo n.º 2
0
        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);
        }