CreateEmpty() registers the Item in the world before population. If ApplyDto or subtype-field application throws, the import catch cannot reach the (unassigned) spawner local, re-opening the orphan leak Approach B prevents. Wrap population in try/catch in the base ToSpawner() and all three overrides: on failure Delete() the single Item and rethrow, so the import path only counts the failure. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| SpawnerDto.cs | ||