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
|
|
@ -108,7 +108,7 @@ namespace Server.Items
|
|||
{
|
||||
if (value != m_ReplenishesCharges && value)
|
||||
{
|
||||
m_LastReplenished = DateTime.UtcNow;
|
||||
m_LastReplenished = Core.Now;
|
||||
}
|
||||
|
||||
m_ReplenishesCharges = value;
|
||||
|
|
@ -159,15 +159,15 @@ namespace Server.Items
|
|||
return;
|
||||
}
|
||||
|
||||
if (m_LastReplenished + ChargeReplenishRate < DateTime.UtcNow)
|
||||
if (m_LastReplenished + ChargeReplenishRate < Core.Now)
|
||||
{
|
||||
var timeDifference = DateTime.UtcNow - m_LastReplenished;
|
||||
var timeDifference = Core.Now - m_LastReplenished;
|
||||
|
||||
m_UsesRemaining = Math.Min(
|
||||
m_UsesRemaining + (int)(timeDifference.Ticks / ChargeReplenishRate.Ticks),
|
||||
InitMaxUses
|
||||
); // How rude of TimeSpan to not allow timespan division.
|
||||
m_LastReplenished = DateTime.UtcNow;
|
||||
m_LastReplenished = Core.Now;
|
||||
|
||||
if (invalidate)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue