fix(core): Optimizes strings / .NET 5 compatibility changes (#354)

- [X] Removes some string allocations (e.g. split)
- [X] Optimizes some collections
- [X] Converts insensitive to extension methods of built-ins.
- [X] Adds ordinal (case sensitive) string helpers
- [X] Fixes conditionals for in-game commands so they use Ordinal comparisons.
- [X] Replaces ToLower.Contains with InsensitiveContains
- [X] Adds ValueStringBuilder
- [X] Implements ValueStringBuilder in a few places where it makes sense
- [X] Removes the redundant Wrap function and replaces it with an optimized version
- [X] Fixes list conversions in Utility

Closes #351

Bumps release version
This commit is contained in:
Kamron Batman 2020-12-20 23:21:55 -08:00 • committed by GitHub
parent 92aae8d482
commit 77ce2e1980
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
117 changed files with 2000 additions and 1226 deletions

View file

@ -1396,7 +1396,7 @@ namespace Server.Engines.ConPVP
return;
}
if (Insensitive.Contains(e.Speech, "i wish to duel"))
if (e.Speech.InsensitiveContains("i wish to duel"))
{
if (!pm.CheckAlive())
{
@ -1432,7 +1432,7 @@ namespace Server.Engines.ConPVP
e.Handled = true;
}
}
else if (Insensitive.Equals(e.Speech, "change arena preferences"))
else if (e.Speech.InsensitiveEquals("change arena preferences"))
{
if (!pm.CheckAlive())
{
@ -1448,7 +1448,7 @@ namespace Server.Engines.ConPVP
}
}
}
else if (Insensitive.Equals(e.Speech, "showladder"))
else if (e.Speech.InsensitiveEquals("showladder"))
{
e.Blocked = true;
if (!pm.CheckAlive())
@ -1487,7 +1487,7 @@ namespace Server.Engines.ConPVP
}
}
}
else if (Insensitive.Equals(e.Speech, "viewladder"))
else if (e.Speech.InsensitiveEquals("viewladder"))
{
e.Blocked = true;
@ -1509,7 +1509,7 @@ namespace Server.Engines.ConPVP
}
}
}
else if (Insensitive.Contains(e.Speech, "i yield"))
else if (e.Speech.InsensitiveContains("i yield"))
{
if (!pm.CheckAlive())
{