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