diff --git a/Content.Shared/GameObjects/Components/Inventory/EquipmentSlotDefinitions.cs b/Content.Shared/GameObjects/Components/Inventory/EquipmentSlotDefinitions.cs index 29fce724b7..562fc88429 100644 --- a/Content.Shared/GameObjects/Components/Inventory/EquipmentSlotDefinitions.cs +++ b/Content.Shared/GameObjects/Components/Inventory/EquipmentSlotDefinitions.cs @@ -6,6 +6,9 @@ namespace Content.Shared.GameObjects.Components.Inventory { public static class EquipmentSlotDefines { + /// + /// Uniquely identifies a single slot in an inventory. + /// [Serializable, NetSerializable] public enum Slots { @@ -29,6 +32,9 @@ namespace Content.Shared.GameObjects.Components.Inventory EXOSUITSLOT2 } + /// + /// Defines what slot types an item can fit into. + /// [Serializable, NetSerializable] [Flags] public enum SlotFlags @@ -55,46 +61,52 @@ namespace Content.Shared.GameObjects.Components.Inventory EXOSUITSTORAGE = 1 << 14 } - public static Dictionary SlotNames = new Dictionary() + public static readonly IReadOnlyDictionary SlotNames = new Dictionary() { - {Slots.HEAD, "Head" }, - {Slots.EYES, "Eyes" }, - {Slots.EARS, "Ears" }, - {Slots.MASK, "Mask" }, - {Slots.OUTERCLOTHING, "Outer Clothing" }, - {Slots.INNERCLOTHING, "Inner Clothing" }, - {Slots.BACKPACK, "Backpack" }, - {Slots.BELT, "Belt" }, - {Slots.GLOVES, "Gloves" }, - {Slots.SHOES, "Shoes" }, - {Slots.IDCARD, "Id Card" }, - {Slots.POCKET1, "Left Pocket" }, - {Slots.POCKET2, "Right Pocket" }, - {Slots.POCKET3, "Up Pocket" }, - {Slots.POCKET4, "Down Pocket" }, - {Slots.EXOSUITSLOT1, "Suit Storage" }, - {Slots.EXOSUITSLOT2, "Backup Storage" } + {Slots.HEAD, "Head"}, + {Slots.EYES, "Eyes"}, + {Slots.EARS, "Ears"}, + {Slots.MASK, "Mask"}, + {Slots.OUTERCLOTHING, "Outer Clothing"}, + {Slots.INNERCLOTHING, "Inner Clothing"}, + {Slots.BACKPACK, "Backpack"}, + {Slots.BELT, "Belt"}, + {Slots.GLOVES, "Gloves"}, + {Slots.SHOES, "Shoes"}, + {Slots.IDCARD, "Id Card"}, + {Slots.POCKET1, "Left Pocket"}, + {Slots.POCKET2, "Right Pocket"}, + {Slots.POCKET3, "Up Pocket"}, // What? + {Slots.POCKET4, "Down Pocket"}, // I, uh, what? + {Slots.EXOSUITSLOT1, "Suit Storage"}, + {Slots.EXOSUITSLOT2, "Backup Storage"} }; - public static Dictionary SlotMasks = new Dictionary() + /// + /// Defines which slot types fit in which slots. + /// + /// + /// Note that this is not exhaustive. Inventory implementations can provide additional behavior. + /// + public static readonly IReadOnlyDictionary SlotMasks = new Dictionary() { - {Slots.HEAD, SlotFlags.HEAD }, - {Slots.EYES, SlotFlags.EYES }, - {Slots.EARS, SlotFlags.EARS }, - {Slots.MASK, SlotFlags.MASK }, - {Slots.OUTERCLOTHING, SlotFlags.OUTERCLOTHING }, - {Slots.INNERCLOTHING, SlotFlags.INNERCLOTHING }, - {Slots.BACKPACK, SlotFlags.BACK }, - {Slots.BELT, SlotFlags.BELT }, - {Slots.GLOVES, SlotFlags.GLOVES }, - {Slots.SHOES, SlotFlags.FEET }, - {Slots.IDCARD, SlotFlags.IDCARD }, - {Slots.POCKET1, SlotFlags.POCKET }, - {Slots.POCKET2, SlotFlags.POCKET }, - {Slots.POCKET3, SlotFlags.POCKET }, - {Slots.POCKET4, SlotFlags.POCKET }, - {Slots.EXOSUITSLOT1, SlotFlags.EXOSUITSTORAGE }, - {Slots.EXOSUITSLOT2, SlotFlags.EXOSUITSTORAGE } + {Slots.HEAD, SlotFlags.HEAD}, + {Slots.EYES, SlotFlags.EYES}, + {Slots.EARS, SlotFlags.EARS}, + {Slots.MASK, SlotFlags.MASK}, + {Slots.OUTERCLOTHING, SlotFlags.OUTERCLOTHING}, + {Slots.INNERCLOTHING, SlotFlags.INNERCLOTHING}, + {Slots.BACKPACK, SlotFlags.BACK}, + {Slots.BELT, SlotFlags.BELT}, + {Slots.GLOVES, SlotFlags.GLOVES}, + {Slots.SHOES, SlotFlags.FEET}, + {Slots.IDCARD, SlotFlags.IDCARD}, + {Slots.POCKET1, SlotFlags.POCKET}, + {Slots.POCKET2, SlotFlags.POCKET}, + {Slots.POCKET3, SlotFlags.POCKET}, + {Slots.POCKET4, SlotFlags.POCKET}, + {Slots.EXOSUITSLOT1, SlotFlags.EXOSUITSTORAGE}, + {Slots.EXOSUITSLOT2, SlotFlags.EXOSUITSTORAGE} }; } }