feat(app): wire IGameState+IEvents into Program and SmokePlugin

Pass WorldGameState and WorldEvents into GameWindow so OnLoad fires
FireEntitySpawned and Add for each hydrated entity. SmokePlugin now
subscribes to EntitySpawned in Enable(), unsubscribes in Disable(),
and logs the replay count at subscribe time and total seen at disable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-04-10 20:31:50 +02:00
parent 0c0c042dca
commit 08097b6c7e
3 changed files with 40 additions and 6 deletions

View file

@ -50,7 +50,7 @@ try
catch (Exception ex) { Log.Error(ex, "plugin enable failed: {Id}", plugin.Manifest.Id); }
}
using var window = new GameWindow(datDir);
using var window = new GameWindow(datDir, worldGameState, worldEvents);
window.Run();
}
finally