public CreateWeaponCommand( IDatabase<Weapon> repository, WeaponFactory weaponFactory, GemFactory gemFactory, string weaponName, WeaponRarities weaponRarity, WeaponTypes weaponType) : base(repository, weaponFactory, gemFactory, weaponName) { this.weaponRarity = weaponRarity; this.weaponType = weaponType; }
public AxeWeapon( WeaponRarities rarity, WeaponTypes type, string name) : base( rarity, type, name, PureMinDamage, PureMaxDamage, NumberOfSockets) { }
protected Weapon( WeaponRarities rarity, WeaponTypes type, string name, int minDamage, int maxDamage, int numberOfSockets) { this.rarity = rarity; this.type = type; this.Name = name; this.minDamage = minDamage * (int)rarity; this.maxDamage = maxDamage * (int)rarity; this.sockets = new Gem[numberOfSockets]; }
public Weapon CreateWeapon(WeaponRarities weaponRarity, WeaponTypes weaponType, string weaponName) { Weapon weapon = null; switch (weaponType) { case WeaponTypes.Axe: weapon = new AxeWeapon(weaponRarity, weaponType, weaponName); break; case WeaponTypes.Knife: weapon = new KnifeWeapon(weaponRarity, weaponType, weaponName); break; case WeaponTypes.Sword: weapon = new SwordWeapon(weaponRarity, weaponType, weaponName); break; } return weapon; }