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

@ -241,12 +241,12 @@ namespace Server.Menus.Questions
public CloseTimer(Mobile m) : base(TimeSpan.Zero, TimeSpan.FromSeconds(1.0))
{
m_Mobile = m;
m_End = DateTime.UtcNow + TimeSpan.FromMinutes(3.0);
m_End = Core.Now + TimeSpan.FromMinutes(3.0);
}
protected override void OnTick()
{
if (m_Mobile.NetState == null || DateTime.UtcNow > m_End)
if (m_Mobile.NetState == null || Core.Now > m_End)
{
m_Mobile.Frozen = false;
m_Mobile.CloseGump<StuckMenu>();
@ -275,12 +275,12 @@ namespace Server.Menus.Questions
m_Mobile = mobile;
m_Destination = destination;
m_End = DateTime.UtcNow + delay;
m_End = Core.Now + delay;
}
protected override void OnTick()
{
if (DateTime.UtcNow < m_End)
if (Core.Now < m_End)
{
m_Mobile.Frozen = true;
}