From 175f8205c0c43ae12438bc1d9019a72d9fcca341 Mon Sep 17 00:00:00 2001 From: "Wrexbe (Josh)" <81056464+wrexbe@users.noreply.github.com> Date: Sat, 30 Mar 2024 18:34:31 -0700 Subject: [PATCH] Make advertise system survive no map inits (#26553) * Make advertise system survive no map inits * Add comment to try prevent future bugs --- Content.Server/Advertise/EntitySystems/AdvertiseSystem.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Content.Server/Advertise/EntitySystems/AdvertiseSystem.cs b/Content.Server/Advertise/EntitySystems/AdvertiseSystem.cs index bb254d11ef..b326321d54 100644 --- a/Content.Server/Advertise/EntitySystems/AdvertiseSystem.cs +++ b/Content.Server/Advertise/EntitySystems/AdvertiseSystem.cs @@ -23,7 +23,7 @@ public sealed class AdvertiseSystem : EntitySystem /// /// The next time the game will check if advertisements should be displayed /// - private TimeSpan _nextCheckTime = TimeSpan.MaxValue; + private TimeSpan _nextCheckTime = TimeSpan.MinValue; public override void Initialize() { @@ -33,8 +33,8 @@ public sealed class AdvertiseSystem : EntitySystem SubscribeLocalEvent(OnPowerReceiverEnableChangeAttempt); SubscribeLocalEvent(OnVendingEnableChangeAttempt); - // The component inits will lower this. - _nextCheckTime = TimeSpan.MaxValue; + // Force it to check on the next update. + _nextCheckTime = TimeSpan.MinValue; } private void OnMapInit(EntityUid uid, AdvertiseComponent advertise, MapInitEvent args) @@ -110,6 +110,8 @@ public sealed class AdvertiseSystem : EntitySystem if (_nextCheckTime > curTime) return; + // Note that as _nextCheckTime currently starts at TimeSpan.MinValue, so this has to SET the value, not just + // increment it. _nextCheckTime = curTime + _maximumNextCheckDuration; var query = EntityQueryEnumerator(); -- 2.51.2