Skip to main content

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.