public static bool IsShield(this ArmorFlag armorFlag) { if (armorFlag.HasFlag(ArmorFlag.TYPE_NONE)) { return(false); } return((armorFlag & ArmorFlag.TYPE_BITMASK) == ArmorFlag.TYPE_SHIELD); }
public static bool IsLightArmorOrLess(this ArmorFlag armorFlag) { if ((armorFlag & ArmorFlag.TYPE_NONE) != 0) { return(true); // Marked as not being armor } return(armorFlag.GetArmorType() == ArmorFlag.TYPE_LIGHT); }
private static void WriteArmorFlags(Utf8JsonWriter writer, ArmorFlag flags) { switch (flags.GetArmorType()) { case ArmorFlag.TYPE_LIGHT: writer.WriteString("armor_type", "light"); break; case ArmorFlag.TYPE_MEDIUM: writer.WriteString("armor_type", "medium"); break; case ArmorFlag.TYPE_HEAVY: writer.WriteString("armor_type", "heavy"); break; case ArmorFlag.TYPE_SHIELD: writer.WriteString("armor_type", "shield"); break; case ArmorFlag.TYPE_NONE: writer.WriteString("armor_type", "none"); break; } switch (flags & ArmorFlag.HELM_BITMASK) { case ArmorFlag.HELM_TYPE_SMALL: writer.WriteString("helmet_type", "light"); break; case ArmorFlag.HELM_TYPE_MEDIUM: writer.WriteString("helmet_type", "medium"); break; case ArmorFlag.HELM_TYPE_LARGE: writer.WriteString("helmet_type", "large"); break; } }
public static ArmorFlag GetArmorType(this ArmorFlag armorFlag) { return(armorFlag & (ArmorFlag.TYPE_BITMASK | ArmorFlag.TYPE_NONE)); }