Service Layer Generator
Goal
To decouple game logic from external APIs (PlayFab, Firebase, Custom Backend). We generate an Interface (IService) and an Implementation (Service) that can be injected via VContainer.
When to Use
- •Use when defining contracts between systems
- •Use when implementing dependency injection
- •Use when creating testable code
- •Use when PlayFab integration
- •Use when backend services
Architecture
- •Interface: Defines what the service does.
- •Implementation: Defines how (REST, SDK, Mock).
- •Rule: Game Logic ONLY talks to the Interface.
Procedure
- •Analyze: Determine the scope (Auth, Inventory, Leaderboard).
- •Generate: Create
I{Name}.csand{Name}Impl.csinAssets/Scripts/Services/. - •Suggest: Remind the user to register this new service using
di-container-manager.
Few-Shot Example
User: "Create a Login Service." Agent:
- •Generates
ILoginService.cs(Methods:LoginAsync,Logout). - •Generates
MockLoginService.cs(Fake success after 1 second). - •User can then swap Mock for Real implementation later.