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}
};
}
}