ModernUO/Projects/UOContent/Items/Skill Items/Magical
Kamron Batman 83f771c99a
perf: Migrate Travel/Moongate gumps to DynamicGump (#2412)
## Summary

Migrates the three player-facing travel/moongate gumps from legacy `Gump` to the modern `DynamicGump` system.

- `GoGump` (Gumps/Go/GoGump.cs) → `DynamicGump`. The category-tree layout's row count varies with the current `GoCategory`'s child count and pagination. Refreshes via `SendGump(this)` after mutating `_node`/`_page` instead of allocating a new instance per nav/page click.
- `MoongateGump` (Items/Misc/PublicMoongate.cs) → `DynamicGump`. The destination tab strip and per-map pages are gated by ruleset (sigil bearer, murderer, faction facet) and expansion/young flag, plus the configured map selection. The set of pages and the active-map swap make the layout shape per-instance.
- `MoongateConfirmGump` (Items/Skill Items/Magical/Misc/Moongate.cs) → `DynamicGump`. Per the **dynamic-cliloc rule**, the gump bakes one of two different cliloc numbers (1062050 Felucca-warning vs 1062049 generic confirm) and selects between an AOS and pre-AOS layout shape — both characteristics force `DynamicGump` rather than `StaticGump<T>` because cached layout bytes would otherwise lock in the wrong cliloc/shape.

All three now use a `private` constructor with a `public static DisplayTo(...)` entry point that validates prerequisites before any gump is allocated (empty-gump rule, CLAUDE.md §13). All are `Singleton` and use `SendGump(this)` self-refresh on internal navigation. Updated callers: `PublicMoongate.UseGate` and `Moongate.BeginConfirmation` now call `DisplayTo(...)`.
2026-04-25 17:03:24 -07:00
..
Misc perf: Migrate Travel/Moongate gumps to DynamicGump (#2412) 2026-04-25 17:03:24 -07:00
Potions feat: Refactor Poison system, implement Darkglow & Parasitic effects (#2385) 2026-03-21 21:27:22 -07:00
Scrolls fix: Optimizes items to use default weights. (Part 4) (#2243) 2025-07-24 23:29:29 -07:00
BookOfBushido.cs fix: Codegens spellbooks (#1349) 2023-02-24 19:04:21 -08:00
BookOfChivalry.cs fix: Codegens spellbooks (#1349) 2023-02-24 19:04:21 -08:00
BookOfNinjitsu.cs fix: Codegens spellbooks (#1349) 2023-02-24 19:04:21 -08:00
MysticSpellbook.cs fix: Codegens spellbooks (#1349) 2023-02-24 19:04:21 -08:00
NecromancerSpellbook.cs fix: Codegens spellbooks (#1349) 2023-02-24 19:04:21 -08:00
Runebook.cs fix: Optimizes items to use default weights. (Part 4) (#2243) 2025-07-24 23:29:29 -07:00
Spellbook.cs feat: Adds Feature Flag System (#2328) 2026-02-07 12:02:57 -08:00
SpellweavingBook.cs fix: Codegens spellbooks (#1349) 2023-02-24 19:04:21 -08:00