| 1234567891011121314151617181920212223242526272829303132333435363738 |
- using Content.Shared.GameTicking;
- namespace Content.Server.Polymorph.Systems;
- public sealed partial class PolymorphSystem
- {
- public EntityUid? PausedMap { get; private set; }
- /// <summary>
- /// Used to subscribe to the round restart event
- /// </summary>
- private void InitializeMap()
- {
- SubscribeLocalEvent<RoundRestartCleanupEvent>(OnRoundRestart);
- }
- private void OnRoundRestart(RoundRestartCleanupEvent _)
- {
- if (PausedMap == null || !Exists(PausedMap))
- return;
- Del(PausedMap.Value);
- }
- /// <summary>
- /// Used internally to ensure a paused map that is
- /// stores polymorphed entities.
- /// </summary>
- private void EnsurePausedMap()
- {
- if (PausedMap != null && Exists(PausedMap))
- return;
- var newmap = _mapManager.CreateMap();
- _mapManager.SetMapPaused(newmap, true);
- PausedMap = _mapManager.GetMapEntityId(newmap);
- }
- }
|