ModernUO/Projects/UOContent.Tests/Tests/Engines
Kamron Batman c02909e2c8
feat(spawners): virtual OnTick; SpawnerDto carries the group flag (#2640)
## Summary

Two small additive changes a derived spawner needs.

- **`BaseSpawner.OnTick()` is now `virtual`.** A subclass that gates spawning on external state (time windows, event triggers) must gate *timer* spawns without gating the manual `Spawn()` API, and `OnTick` is the only place the two paths differ: it is the timer callback and `Spawn()` is both what it calls and what commands and scripts call. Cost: one virtual dispatch on the existing timer callback; no change to stock behaviour.
- **`group` in the JSON DTO.** `BaseSpawner.Group` (all dead, then respawn) is binary-persisted but was missing from `SpawnerDto`, so it did not survive export/import. Added to the abstract record after `spawnLocationIsHome`, assigned in `ApplyDto` after `InitSpawn` (which resets it), and exported by the three stock `ToDto` implementations.

## Test plan

- [x] A derived spawner overriding `OnTick` with a closed gate: `OnTick()` spawns nothing; manual `Spawn()` still spawns and does not pass through `OnTick`.
- [x] DTO round trip with `Group = true` carries `group` and restores it on `ToSpawner()`.
- [x] `UOContent.Tests` full suite green.
- [ ] CI
2026-09-12 16:33:57 -07:00
..
AdvancedSearch fix: Advanced Search results came back in a different order every search (#2626) 2026-09-10 19:14:09 -07:00
Chat feat: Upgrades networking to use io_uring. (#2315) 2026-02-01 16:02:32 -08:00
Events chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Factions fix(opl): refuse property list invalidation raised from inside GetProperties (#2555) 2026-07-28 21:29:03 -07:00
Help feat: Upgrades networking to use io_uring. (#2315) 2026-02-01 16:02:32 -08:00
ML Quests feat: Upgrades networking to use io_uring. (#2315) 2026-02-01 16:02:32 -08:00
Party feat: Upgrades networking to use io_uring. (#2315) 2026-02-01 16:02:32 -08:00
Pathing perf(pathing): pool the StepCache strata buffer, then clean up the pathing engine around it (#2523) 2026-07-12 20:02:29 -07:00
Plants fix: OPL revision hash collided on reordered and repeated properties (#2615) 2026-09-06 21:32:12 -07:00
Spawners feat(spawners): virtual OnTick; SpawnerDto carries the group flag (#2640) 2026-09-12 16:33:57 -07:00
Veteran Rewards/Character Statue Maker feat: Upgrades networking to use io_uring. (#2315) 2026-02-01 16:02:32 -08:00