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:
parent
92aae8d482
commit
77ce2e1980
117 changed files with 2000 additions and 1226 deletions
|
|
@ -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())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -122,7 +122,10 @@ namespace Server.Engines.ConPVP
|
|||
{
|
||||
for (var i = 0; i < entries.Count; ++i)
|
||||
{
|
||||
var teamInfo = entries[i] as DDTeamInfo;
|
||||
if (entries[i] is not DDTeamInfo teamInfo)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
AddImage(30, 70 + i * 75, 10152);
|
||||
AddImage(30, 85 + i * 75, 10151);
|
||||
|
|
@ -884,7 +887,7 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
|
||||
if (i == winner.TeamID)
|
||||
if (i == winner?.TeamID)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
@ -898,7 +901,10 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
|
||||
m_Context.Finish(m_Context.Participants[winner.TeamID]);
|
||||
if (winner != null)
|
||||
{
|
||||
m_Context.Finish(m_Context.Participants[winner.TeamID]);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnStop()
|
||||
|
|
|
|||
|
|
@ -279,7 +279,7 @@ namespace Server.Engines.ConPVP
|
|||
AddPage(0);
|
||||
AddBackground(0, 0, 300, 300, 9380);
|
||||
|
||||
var pList = m_List?.CastListCovariant<object, TourneyParticipant>()
|
||||
var pList = m_List?.SafeConvertList<object, TourneyParticipant>()
|
||||
?? new List<TourneyParticipant>(tourney.Participants);
|
||||
|
||||
AddLeftArrow(25, 11, ToButtonID(0, 0));
|
||||
|
|
@ -412,10 +412,6 @@ namespace Server.Engines.ConPVP
|
|||
AddLeftArrow(25, 11, ToButtonID(0, 0));
|
||||
AddHtml(25, 35, 250, 20, Center("Rounds"));
|
||||
|
||||
// List<PyramidLevel> levelsList = m_List != null
|
||||
// ? Utility.CastListCovariant<object, PyramidLevel>(m_List)
|
||||
// : new List<PyramidLevel>(tourney.Pyramid.Levels);
|
||||
|
||||
StartPage(out var index, out var count, out var y, 12);
|
||||
|
||||
for (var i = 0; i < count; ++i, y += 18)
|
||||
|
|
@ -439,7 +435,7 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
|
||||
var matchesList = m_List != null
|
||||
? m_List.CastListCovariant<object, TourneyMatch>()
|
||||
? m_List.SafeConvertList<object, TourneyMatch>()
|
||||
: new List<TourneyMatch>(level.Matches);
|
||||
|
||||
AddRightArrow(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue