Phase 5: Extract QuestStreamingService and introduce IGameStats

- Extract QuestStreamingService.cs from PluginCore (timer, IsHighPriorityQuest, FormatCountdown)
- Create IGameStats interface for WebSocket telemetry decoupling
- PluginCore implements IGameStats, WebSocket.BuildPayloadJson reads from IGameStats
- WebSocket.cs no longer references PluginCore directly
- Update queststatus command to use QuestStreamingService
- Static bridge properties remain for VVSTabbedMainView compatibility

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
erik 2026-02-27 07:56:13 +00:00
parent f9264f2767
commit 0713e96a99
6 changed files with 192 additions and 142 deletions

View file

@ -308,7 +308,9 @@
<Compile Include="CommandRouter.cs" />
<Compile Include="Constants.cs" />
<Compile Include="GameEventRouter.cs" />
<Compile Include="IGameStats.cs" />
<Compile Include="IPluginLogger.cs" />
<Compile Include="QuestStreamingService.cs" />
<Compile Include="InventoryMonitor.cs" />
<Compile Include="KillTracker.cs" />
<Compile Include="RareTracker.cs" />