💰 Currency / PublicAPI / Resolution¶
🎯 Purpose¶
The Resolution folder provides supported helpers for locating the active ICurrencyService within a scene or context.
This is the recommended way to obtain a currency service at runtime without manually wiring references.
⚠️ Important Notes¶
- Resolution does not create or compose services
- Behaviour depends on scene setup or published overrides
- Returns
nullwhen no service is available - Caching is applied per scene
🧩 What Lives Here¶
CurrencyResolve¶
-
Resolve the active service from:
-
MonoBehaviour GameObject-
Component -
Supports:
-
Published overrides
- Scene-local discovery
-
Per-scene caching
-
Provides cache invalidation helpers
🧠 Usage Guidance¶
Mental model¶
Resolution follows a priority order:
- Published override
- Cached scene result
- Scene-local discovery
If no service is found:
- Returns
null - May log a warning in editor contexts
When to use¶
Use CurrencyResolve when:
- You do not want to pass service references explicitly
- You are working in scene-driven workflows
- You are building gameplay systems, UI, or tools
Avoid using it:
- Inside core systems where explicit dependencies are preferred
- When a service reference is already available
🧪 Diagnostics¶
nullresults usually indicate missing bootstrap or scene service- Repeated resolution calls should hit cache after first lookup
🚫 Internal Use Only¶
This helper is part of the public API surface.
Do not:
- Depend on internal resolver implementations
- Assume resolution will always succeed
🧹 Safe to Remove¶
This folder may be removed if resolution helpers are not required.
Currency will continue to operate with explicit service references.
🔗 Related Documentation¶
- Bootstrap — service publishing and overrides
- UnityIntegration — scene-based service providers
- PublicAPI / Helpers — composition helpers
- Abstractions — `ICurrencyS