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

@ -29,7 +29,7 @@ namespace Server.Items
m_Entries = new List<CampfireEntry>();
Created = DateTime.UtcNow;
Created = Core.Now;
m_Timer = Timer.DelayCall(TimeSpan.FromSeconds(1.0), TimeSpan.FromSeconds(1.0), OnTick);
}
@ -94,7 +94,7 @@ namespace Server.Items
private void OnTick()
{
var now = DateTime.UtcNow;
var now = Core.Now;
var age = now - Created;
if (age >= TimeSpan.FromSeconds(100.0))
@ -191,7 +191,7 @@ namespace Server.Items
{
Player = player;
Fire = fire;
Start = DateTime.UtcNow;
Start = Core.Now;
m_Safe = false;
}