Make advertise system survive no map inits (#26553)

* Make advertise system survive no map inits

* Add comment to try prevent future bugs
This commit is contained in:
Wrexbe (Josh)
2024-03-30 18:34:31 -07:00
committed by GitHub
parent 8676aad583
commit 175f8205c0

View File

@@ -23,7 +23,7 @@ public sealed class AdvertiseSystem : EntitySystem
/// <summary>
/// The next time the game will check if advertisements should be displayed
/// </summary>
private TimeSpan _nextCheckTime = TimeSpan.MaxValue;
private TimeSpan _nextCheckTime = TimeSpan.MinValue;
public override void Initialize()
{
@@ -33,8 +33,8 @@ public sealed class AdvertiseSystem : EntitySystem
SubscribeLocalEvent<ApcPowerReceiverComponent, AdvertiseEnableChangeAttemptEvent>(OnPowerReceiverEnableChangeAttempt);
SubscribeLocalEvent<VendingMachineComponent, AdvertiseEnableChangeAttemptEvent>(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<AdvertiseComponent>();