• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

AAEmu / AAEmu / 22520557455

28 Feb 2026 12:15PM UTC coverage: 6.265% (+0.2%) from 6.056%
22520557455

push

github

web-flow
feat: Follow-up, migrate manager singletons to DI for testing and parallel loading (#1366)

* feat(game): Phase 5b — migrate AnimationManager, ChatManager, DuelManager, SpecialtyManager to orchestrator

- IAnimationManager: add : ILoadable; SkillManager already declares
  IAnimationManager as a constructor dep so the orchestrator infers
  the correct load order automatically
- IChatManager: add : IInitializable; instance Initialize() already
  existed, remove explicit call from the hand-written ID-manager block
- IDuelManager: add : IInitializable; convert static bool Initialize()
  to void Initialize() on DuelManager
- ISpecialtyManager: add : IInitializable (already had : ILoadable);
  convert static void Initialize() to instance on SpecialtyManager
- GameService: remove the four now-redundant explicit calls

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(game): Phase 5c — migrate five ID managers to orchestrator

IIdManager gains : ILoadable, and IdManager base class gains a Load()
that delegates to Initialize(). This makes any ID manager opt-in to
the orchestrator with just a registration change — no per-class code.

Migrate the five ID managers whose consumers already declare them as
constructor deps, so the orchestrator can infer correct ordering for
free:
- ObjectIdManager (DoodadManager, HousingManager, ShipyardManager)
- ItemIdManager   (ItemManager)
- ContainerIdManager (ItemManager)
- DoodadIdManager (DoodadManager)
- CharacterIdManager (CharacterManager)

Each migrated manager:
- switches from factory registration (ImplementationType == null, invisible
  to orchestrator) to type-based registration
- updates its Instance property to check SingletonContainer.ServiceProvider
  first, matching the Singleton<T> pattern so .Instance callers get the
  same DI-managed instance

Remaining ID managers stay explicit in GameService for now; their
consumers access them via .Instance rather than constructor deps, so
there is no orderi... (continued)

2 of 78 new or added lines in 34 files covered. (2.56%)

144 existing lines in 5 files now uncovered.

4050 of 64649 relevant lines covered (6.26%)

0.06 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/AAEmu.Game/Program.cs


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc