fix(core): Caches DateTime.NowUtc (#548)

- [X] Caches DateTime.NowUtc on the game loop (not other threads)
- [X] Replaces all locations where it makes sense
- [X] Adds Min/Max for `IComparable` (TimeSpan, DateTimes, etc)

Closes #261
This commit is contained in:
Kamron Batman 2021-03-13 01:32:04 -08:00 • committed by GitHub
parent 5de6edbeb8
commit 6c4308bce6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
208 changed files with 660 additions and 793 deletions

View file

@ -122,7 +122,7 @@ namespace Server.Spells.Third
m_Timer = new InternalTimer(this, TimeSpan.FromSeconds(10.0));
m_Timer.Start();
m_End = DateTime.UtcNow + TimeSpan.FromSeconds(10.0);
m_End = Core.Now + TimeSpan.FromSeconds(10.0);
}
public InternalItem(Serial serial) : base(serial)
@ -152,7 +152,7 @@ namespace Server.Spells.Third
{
m_End = reader.ReadDeltaTime();
m_Timer = new InternalTimer(this, m_End - DateTime.UtcNow);
m_Timer = new InternalTimer(this, m_End - Core.Now);
m_Timer.Start();
break;
@ -164,7 +164,7 @@ namespace Server.Spells.Third
m_Timer = new InternalTimer(this, duration);
m_Timer.Start();
m_End = DateTime.UtcNow + duration;
m_End = Core.Now + duration;
break;
}