🎁 Pickups — Integrations¶
This folder documents how the Pickups system integrates with other RevFramework systems.
Concrete implementations live in the RevFramework/Integrations hierarchy and are not part of the Pickups runtime assembly.
🎯 Purpose¶
Integrations extend pickup behaviour by connecting Pickups to other systems.
They are designed to:
- keep Pickups runtime free of optional dependencies
- provide system-specific behaviour through adapters
- compile only when target systems are present
📦 Folder Overview¶
This folder exists as a documentation marker only.
It indicates that integration implementations are available elsewhere in the project.
🧩 What Lives Here¶
No runtime code is defined here.
Integration implementations are located under:
Integrations/Pickups/HealthIntegrationIntegrations/Pickups/CurrencyIntegrationIntegrations/Pickups/InventoryIntegrationIntegrations/StatusEffects/PickupsIntegration
These modules are included only when the corresponding systems are present.
🧠 Usage Guidance¶
Integrations connect external systems to Pickups through supported extension seams.
Common seams include:
PickupEffectPickupEffectDefinitionBaseIPickupDecoratorRegistryIPickupEffectWithContextIEffectAllowsNullDamageable
Integrations typically provide concrete effects or decorators that adapt other systems into these seams.
🧪 Diagnostics¶
Integration availability depends on compile-time defines such as:
REV_HEALTH_PRESENTREV_INVENTORY_PRESENT
If a system is not present, its integration code is not compiled.
⚠️ Important Notes¶
- integrations are optional
- Pickups core does not depend on any external system
- behaviour depends on which integration modules are included
🚫 Not for Production Use¶
This folder does not provide:
- runtime behaviour
- effect implementations
- direct system integration code
It documents integration structure only.
🔗 Related Documentation¶
- Core
- Effects
- Definitions
- Integrations (root)