Implements Task 2 of the spawner STJ migration: - SpawnerJsonSerializer: assembly discovery of [JsonDiscoverableType]-marked BaseSpawner subclasses, STJ polymorphism on $type, property pruning to [JsonPropertyName]-only, and OnDeserialized→OnAfterJsonDeserialize() hook. - BaseSpawner.Json.cs: shadow JSON properties for all BaseSpawner fields, OnAfterJsonDeserialize() virtual method that applies deserialized state. - Spawner.Json.cs: JsonSpawnBounds shadow property, override of OnAfterJsonDeserialize() to apply spawnBounds after base. - Spawner.cs: [JsonDiscoverableType] + [JsonConstructor] on parameterless ctor. - TestServerInitializer: SpawnerJsonSerializer.Configure() wired in. - SpawnerRoundTripTests: 2 tests (round-trip core fields, omits domain defaults). Old DynamicJson ctors and ToJson() left in place; removal is Task 9. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| PathfindingTestFixture.cs | ||
| TestServerInitializer.cs | ||
| UOContentFixture.cs | ||