protected Weapon(int _minDamage, int _maxDamage, WEAPON_RARITY rarity, string name, int slots) { this.Rarity = rarity; this.originalMinDamage = _minDamage; this.originalMaxDamage = _maxDamage; this.Name = name; this.gems = new IGem[slots]; }
public static void CreateWeapon(string[] inputTokens) { string[] weaponStringArr = inputTokens[1].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); var weaponRarityString = weaponStringArr[0]; var weaponTypeString = weaponStringArr[1]; WEAPON_RARITY weaponRarity = (WEAPON_RARITY)Enum.Parse(typeof(WEAPON_RARITY), weaponRarityString); Type weaponType = Type.GetType("InfernoInfinity.Models.Weapons." + weaponTypeString); if (weaponType == null) { throw new ArgumentException("Invalid Weapon Type!"); } if (!typeof(IWeapon).IsAssignableFrom(weaponType)) { throw new ArgumentException("Invalid Weapon!"); } IWeapon weapon = (IWeapon)Activator.CreateInstance(weaponType, new object[] { weaponRarity, inputTokens[2] }); weapons.Add(weapon); }
public Sword(WEAPON_RARITY _rarity, string _name) : base(MIN_DAMAGE, MAX_DAMAGE, _rarity, _name, SLOTS) { }