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:
parent
5de6edbeb8
commit
6c4308bce6
208 changed files with 660 additions and 793 deletions
|
|
@ -301,7 +301,7 @@ namespace Server.Engines.CannedEvil
|
|||
{
|
||||
m_RestartTimer?.Stop();
|
||||
|
||||
RestartTime = DateTime.UtcNow + ts;
|
||||
RestartTime = Core.Now + ts;
|
||||
|
||||
m_RestartTimer = new RestartTimer(this, ts);
|
||||
m_RestartTimer.Start();
|
||||
|
|
@ -564,7 +564,7 @@ namespace Server.Engines.CannedEvil
|
|||
SetWhiteSkullCount(p / 20);
|
||||
}
|
||||
|
||||
if (DateTime.UtcNow >= ExpireTime)
|
||||
if (Core.Now >= ExpireTime)
|
||||
{
|
||||
Expire();
|
||||
}
|
||||
|
|
@ -575,7 +575,7 @@ namespace Server.Engines.CannedEvil
|
|||
|
||||
public void AdvanceLevel()
|
||||
{
|
||||
ExpireTime = DateTime.UtcNow + ExpireDelay;
|
||||
ExpireTime = Core.Now + ExpireDelay;
|
||||
|
||||
if (Level < 16)
|
||||
{
|
||||
|
|
@ -811,7 +811,7 @@ namespace Server.Engines.CannedEvil
|
|||
SetWhiteSkullCount(0);
|
||||
}
|
||||
|
||||
ExpireTime = DateTime.UtcNow + ExpireDelay;
|
||||
ExpireTime = Core.Now + ExpireDelay;
|
||||
}
|
||||
|
||||
public Point3D GetRedSkullLocation(int index)
|
||||
|
|
@ -1293,7 +1293,7 @@ namespace Server.Engines.CannedEvil
|
|||
if (reader.ReadBool())
|
||||
{
|
||||
RestartTime = reader.ReadDeltaTime();
|
||||
BeginRestart(RestartTime - DateTime.UtcNow);
|
||||
BeginRestart(RestartTime - Core.Now);
|
||||
}
|
||||
|
||||
if (version < 4)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ namespace Server.Items
|
|||
if (decays)
|
||||
{
|
||||
m_Decays = true;
|
||||
m_DecayTime = DateTime.UtcNow + TimeSpan.FromMinutes(2.0);
|
||||
m_DecayTime = Core.Now + TimeSpan.FromMinutes(2.0);
|
||||
|
||||
m_Timer = new InternalTimer(this, m_DecayTime);
|
||||
m_Timer.Start();
|
||||
|
|
@ -87,7 +87,7 @@ namespace Server.Items
|
|||
{
|
||||
private readonly Item m_Item;
|
||||
|
||||
public InternalTimer(Item item, DateTime end) : base(end - DateTime.UtcNow) => m_Item = item;
|
||||
public InternalTimer(Item item, DateTime end) : base(end - Core.Now) => m_Item = item;
|
||||
|
||||
protected override void OnTick()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue