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
|
|
@ -315,13 +315,7 @@ namespace Server.Items
|
|||
return;
|
||||
}
|
||||
|
||||
var ts = t.Next - DateTime.UtcNow;
|
||||
if (ts < TimeSpan.Zero)
|
||||
{
|
||||
ts = TimeSpan.Zero;
|
||||
}
|
||||
|
||||
t.Delay = ts;
|
||||
t.Delay = Utility.Max(t.Next - Core.Now, TimeSpan.Zero);
|
||||
t.Stop();
|
||||
}
|
||||
|
||||
|
|
@ -334,7 +328,7 @@ namespace Server.Items
|
|||
}
|
||||
|
||||
public static TimeSpan TimeRemaining(Mobile m) =>
|
||||
Timers.TryGetValue(m, out var t) ? t.Next - DateTime.UtcNow : TimeSpan.Zero;
|
||||
Timers.TryGetValue(m, out var t) ? t.Next - Core.Now : TimeSpan.Zero;
|
||||
|
||||
private class InternalTimer : Timer
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue