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)); } }
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); }
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); }
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; }