Files
wwdpublic/Content.Server/Polymorph/Systems/PolymorphSystem.Map.cs
AJCM-git 8081242009 Cleanups PolymorphSystem/Components/Prototypes (#23721)
* Cleanups PolymorphSystem

* forgot this

* Nah

* Fix test

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit b8f0ed3975a4b887ca8dd75dcc07e0ac5ee11646)
2024-02-08 12:20:24 +01:00

39 lines
966 B
C#

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);
}
}