ModernUO/Projects/UOContent/Utilities
Kamron Batman 1adf282c6b refactor(advanced-search): reuse thread-safe Server.Types for general property parsing
Server.Types is now thread-safe (ConcurrentDictionary for the IsParsable and
Parse-method caches; per-call args array instead of a shared static one), so it
can be used off the main thread. AdvancedSearch's CompareValues now delegates
its general/reference/IParsable parsing branch to Types instead of comparing
against a raw string — so reference types (Poison, entity-by-serial) and
unlisted IParsable value types (Guid, ...) now parse into their real type and
compare by value. The hot typed paths (numeric/string/bool/TimeSpan/DateTime/
enum) stay span-based and zero-alloc; only this uncommon branch allocates.

Fixes: 'Poison = Lethal' (and any reference-type/IParsable property search)
previously always returned no-match. Adds Poison + Guid tests. Full suite
534/534.
2026-07-20 09:03:54 -07:00
..
TypeAttributes.cs fix(cleanup): Consolidate the duplicate code in Properties, PropsGump, and PropsConfig (#540) 2021-04-14 22:58:56 -07:00
Types.cs refactor(advanced-search): reuse thread-safe Server.Types for general property parsing 2026-07-20 09:03:54 -07:00