Server.Types.Parse now discovers either the modern IParsable Parse(string, IFormatProvider) or a legacy RunUO Parse(string) (cached in the ConcurrentDictionary), and TryParse gates on the discovered method instead of the IParsable interface. This restores parsing for pre-IParsable types like Faction and Town, which have only a static Parse(string) and were previously unreachable (they fell through to Convert.ChangeType and failed) — fixing them for [set, spawners, and the conditional compiler as well. AdvancedSearch's CompareValues now delegates all non-hot-path types to Types unconditionally, so reference types, IParsable value types, and legacy Parse(string) types are all searchable and compared by value. Adds a legacy-Parse test. Full suite 535/535. |
||
|---|---|---|
| .. | ||
| Application | ||
| BuildTool | ||
| Logger | ||
| Server | ||
| Server.Tests | ||
| UOContent | ||
| UOContent.Tests | ||