PlayerEquipment_SO
Defines an equipment item used in m00m's inventory system. Supports variant tracking and contextual categorization (e.g., usable item vs. component). Useful for gear progression and equip-state management.
[CreateAssetMenu(fileName = "PlayerEquipment", menuName = "m00m/Inventory/PlayerEquipment")]
public class PlayerEquipment_SO : TransactionalItemData_Base_SO
Overview
This ScriptableObject models a piece of player equipment. It supports hierarchical relationships via parent-child variation linking and includes metadata for UI description and inventory handling.
Properties
description
Type: string
Description: A longer-form description of the equipment, for tooltips or UI blurbs.
Variations
Type: List<PlayerEquipment_SO>
Description: Alternate forms or styles of this equipment.
DefaultVariation
Type: PlayerEquipment_SO
Description: The default variant to fall back on if one isn't specified.
ParentEquipment
Type: PlayerEquipment_SO
Description: Higher-level base equipment this item derives from.
equipmentType
Type: EquipmentType
Default: UsableItem
Description: Categorizes the equipment's functional role.
stateKey
Type: string
Description: String key for the State Machine state to activate when this item is equipped. Used in parity with handsOrBody
handsOrBody
Type: InventoryItem_Base_SO.HandsOrBody
Default: Hands
Description: Specifies where the item is worn or held, and which state machine it affects.
Enums
EquipmentType
Defines the nature of the equipment:
UsableItem: Standard interactive equipment.Component: Equipment part that combines with others.Variation: Visual or functional variation of a base item.