UCrimsonEquipmentSlotsComponent
Declares the complete slot layout for a pawn. The manager reads this to validate slot availability when EquipItem is called. Not replicated - slot layout is configured in Blueprint defaults and is assumed to be identical on server and client.
FCrimsonEquipmentSlotDefinition
| Field | Type | Description |
|---|---|---|
| SlotTag | FGameplayTag | Identifies this slot type. Must match EquipmentSlotTag on UCrimsonEquipmentDefinition. |
| SlotCount | int32 | How many items of this type can be equipped simultaneously. E.g. 2 for rings -> indices 0 and 1 are both valid. |
Dynamic Slot Layouts
Call SetSlotLayout at runtime to change slot availability (e.g. a character who unlocks a second weapon slot mid-game). Call it server-side before any EquipItem call that uses the new slot.
// Unlock a second weapon slot at runtimeTArray<FCrimsonEquipmentSlotDefinition> NewLayout = SlotsComp->GetSlotLayout();FCrimsonEquipmentSlotDefinition& WeaponSlot = NewLayout[0]; // find by tag in practiceWeaponSlot.SlotCount = 2;SlotsComp->SetSlotLayout(NewLayout);
Slot Index Selection
When EquipItem is called with SpecificSlotIndex == -1 (default), the manager auto-selects the first empty index for the slot type. Pass an explicit index (0, 1, ...) to force placement in a particular slot. If that index is occupied, the existing item is unequipped first.