Core/Misc: Minor compile time improving changes

Port From (https://github.com/TrinityCore/TrinityCore/commit/b5c99939a82ed956cd185cd7a2ede838e2fdf23e)
This commit is contained in:
Hondacrx
2025-08-13 22:02:34 -04:00
parent f6c56c3293
commit 442e7dcde2
5 changed files with 79 additions and 83 deletions
+11 -4
View File
@@ -132,7 +132,7 @@ namespace Game.Entities
if (!Global.ConditionMgr.IsObjectMeetingNotGroupedConditions(ConditionSourceType.ConversationLine, line.Id, creator))
continue;
var convoLine = CliDB.ConversationLineStorage.LookupByKey(line.Id); // never null for conversationTemplate->Lines
var convoLine = CliDB.ConversationLineStorage.LookupByKey(line.Id); // never null for conversationTemplate->Lines
ConversationLine lineField = new();
lineField.ConversationLineID = line.Id;
@@ -142,12 +142,16 @@ namespace Game.Entities
lineField.Flags = line.Flags;
lineField.ChatType = line.ChatType;
if (!_lineStartTimes.ContainsKey(line.Id))
_lineStartTimes[(int)line.Id] = new TimeSpan[(int)Locale.Total];
var startTimes = _lineStartTimes[(int)line.Id];
for (Locale locale = Locale.enUS; locale < Locale.Total; locale = locale + 1)
{
if (locale == Locale.None)
continue;
_lineStartTimes[(locale, line.Id)] = _lastLineEndTimes[(int)locale];
startTimes[(int)locale] = _lastLineEndTimes[(int)locale];
if (locale == Locale.enUS)
lineField.StartTime = (uint)_lastLineEndTimes[(int)locale].TotalMilliseconds;
@@ -224,7 +228,10 @@ namespace Game.Entities
public TimeSpan GetLineStartTime(Locale locale, int lineId)
{
return _lineStartTimes.LookupByKey((locale, lineId));
if (_lineStartTimes.TryGetValue(lineId, out var timeSpans))
return timeSpans[(int)locale];
return default;
}
public TimeSpan GetLastLineEndTime(Locale locale)
@@ -377,7 +384,7 @@ namespace Game.Entities
TimeSpan _duration;
uint _textureKitId;
Dictionary<(Locale locale, uint lineId), TimeSpan> _lineStartTimes = new();
Dictionary<int, TimeSpan[]> _lineStartTimes = new();
TimeSpan[] _lastLineEndTimes = new TimeSpan[(int)Locale.Total];
ConversationAI _ai;