perf: Migrate vendor management gumps to DynamicGump/StaticGump (#2431)

## Summary
Converts `ReclaimVendorGump`, `VendorInventoryGump`, and the five gumps in `VendorRentalGumps.cs` from legacy `Gump` to `DynamicGump` / `StaticGump<T>` with the static `DisplayTo` entry-point pattern.

| Gump | Target | Reason |
|---|---|---|
| `ReclaimVendorGump` | DynamicGump | Variable vendor inventory list count. |
| `VendorInventoryGump` | DynamicGump | Variable inventory list; keeps `from` (per-row button depends on owner check). |
| `BaseVendorRentalGump` (abstract) → `VendorRentalContractGump`, `VendorRentalOfferGump`, `RenterVendorRentalGump`, `LandlordVendorRentalGump` | DynamicGump | Layout has many conditional sections driven by `GumpType` enum. |
| `VendorRentalRefundGump` | StaticGump | Fixed layout; vendor name, shop name, refund amount in `BuildStrings` placeholders. |

All builder labels and string slots use `$"{value}"` interpolated-string-handler form for zero-allocation text.

Updates callers in `PlayerMobile`, `HouseSign`, `RentedVendor`, and `VendorRentalContract`.
This commit is contained in:
Kamron Batman 2026-05-03 10:19:12 -07:00 • committed by GitHub
parent 14f9d682e8
commit 402f3bc934
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 864 additions and 790 deletions

View file

@ -263,7 +263,7 @@ public partial class HouseSign : Item
}
else
{
from.SendGump(new VendorInventoryGump(sign.Owner, from));
VendorInventoryGump.DisplayTo(from, sign.Owner);
}
}
}