示例#1
0
        void RefreshWeapons()
        {
            OwnedWeapons.Clear();

            foreach (var weapon in GetComponentsInChildren(typeof(Weapon)))
            {
                var weaponComponent = (weapon as Weapon);

                if (OwnedWeapons.Contains(weaponComponent))
                {
                    return;
                }

                OwnedWeapons.Add(weaponComponent);
            }
        }
示例#2
0
        public void SetActiveWeapon(int index)
        {
            if (!OwnedWeapons.ElementAtOrDefault(index))
            {
                return;
            }

            CurrentWeapon = OwnedWeapons.ElementAt(index);
            CurrentWeapon.gameObject.SetActive(true);

            var weaponsToDeactivate = OwnedWeapons.Where((weapon, idx) => idx != index);

            foreach (var weapon in weaponsToDeactivate)
            {
                weapon.gameObject.SetActive(false);
            }
        }
示例#3
0
        private void saveBox_Click(object sender, EventArgs e)
        {
            // check if we're adding a new weapon
            if (weaponBox.Enabled)
            {
                var selectedWeapon = WeaponDatabase.Weapons[weaponBox.SelectedIndex];

                // make sure this new weapon isn't already in the list
                if (OwnedWeapons.Any(existingWeapon => selectedWeapon.Id == existingWeapon.Id))
                {
                    MessageBox.Show(Strings.WEAPON_EXISTS_TEXT);
                    return;
                }
                Weapon = selectedWeapon;
            }

            Weapon.TurfInked = Convert.ToUInt32(turfInkedBox.Value);
            Weapon.IsNew     = newFlagBox.Checked;

            Close();
        }