Exemple #1
0
        public void AddWeaponAugment(WeaponAugment weaponAugment)
        {
            WeaponAugmentTemplate key = weaponAugment.Template;

            if (!this.weaponAugments.ContainsKey(key))
            {
                this.weaponAugments[key] = new List <WeaponAugment>();
            }
            this.weaponAugments[key].Add(weaponAugment);
        }
    private void advanceEnemyWeapons()
    {
        List <WeaponAugmentTemplate> augments = new List <WeaponAugmentTemplate>(this.weaponAugmentFactory.All);

        // Add a new type of weapon
        this.enemyWeapons.Add(new WeaponConfiguration(this.weaponAugmentFactory.BasicWeapon, new List <WeaponAugment>()));

        // Add a random augment to each weapon type
        foreach (WeaponConfiguration configuration in this.enemyWeapons)
        {
            int index = this.randomGenerator.Next(augments.Count);
            WeaponAugmentTemplate template = augments[index];
            configuration.Augments.Add(new WeaponAugment(template));
        }
    }
Exemple #3
0
        private WeaponStats makeWeapon(int numAugments)
        {
            BasicWeapon basicWeapon = this.weaponAugmentFactory.BasicWeapon;
            List <WeaponAugmentTemplate> augmentTemplates = new List <WeaponAugmentTemplate>();
            List <WeaponAugmentTemplate> choices          = new List <WeaponAugmentTemplate>(this.weaponAugmentFactory.All);

            for (int i = 0; i < numAugments; i++)
            {
                int index = this.randomGenerator.Next(choices.Count);
                WeaponAugmentTemplate template = choices[index];
                augmentTemplates.Add(template);
            }
            WeaponStats stats = basicWeapon.WithAugments(augmentTemplates);

            return(stats);
        }
Exemple #4
0
        public List <WeaponAugment> GetUnassignedWeaponAugments(WeaponAugmentTemplate template)
        {
            List <WeaponAugment> augments = new List <WeaponAugment>();

            if (!this.weaponAugments.ContainsKey(template))
            {
                return(augments);
            }
            foreach (WeaponAugment augment in this.weaponAugments[template])
            {
                if (augment.AssignedWeapon == null)
                {
                    augments.Add(augment);
                }
            }
            return(augments);
        }
Exemple #5
0
        private void makeSelectionsMatchWeapon()
        {
            List <WeaponAugmentTemplate> currentSelections = new List <WeaponAugmentTemplate>();

            for (int i = 0; i < this.weaponConfiguration.BasicWeapon.NumAugmentSlots; i++)
            {
                ListView              view     = this.selectorViews[i];
                WeaponAugment         augment  = this.weaponConfiguration.GetAugmentAtIndex(i);
                WeaponAugmentTemplate template = null;
                if (augment != null)
                {
                    template = augment.Template;
                }
                currentSelections.Add(template);
            }
            this.updateOptions(currentSelections);
        }
 public WeaponAugmentProvider(WeaponAugmentTemplate template)
 {
     this.template = template;
 }