Exemple #1
0
        public override bool Equals(object other)
        {
            if (other == null || other.GetType() != GetType())
            {
                return(false);
            }

            var otherWeapon = (Weapon)other;

            return(Type.Equals(otherWeapon.Type) &&
                   Name.Equals(otherWeapon.Name) &&
                   Parry.Equals(otherWeapon.Parry) &&
                   Powers.OrderBy(p => p).SequenceEqual(otherWeapon.Powers.OrderBy(p => p)) &&
                   Locations.OrderBy(l => l).SequenceEqual(otherWeapon.Locations.OrderBy(l => l)));
        }