Merge remote-tracking branch 'upstream/master' into ed-16-02-2025-planet-light-upstream

# Conflicts:
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
#	Resources/Prototypes/Maps/centcomm.yml
This commit is contained in:
Ed
2025-02-16 16:39:26 +03:00
72 changed files with 915 additions and 557 deletions

View File

@@ -15,10 +15,13 @@ using Robust.Server.GameObjects;
using Robust.Shared.Collections;
using Robust.Shared.Configuration;
using Robust.Shared.Console;
using Robust.Shared.EntitySerialization;
using Robust.Shared.EntitySerialization.Systems;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
using Robust.Shared.Utility;
namespace Content.Server.Procedural;
@@ -173,14 +176,18 @@ public sealed partial class DungeonSystem : SharedDungeonSystem
return Transform(uid).MapID;
}
var mapId = _mapManager.CreateMap();
_mapManager.AddUninitializedMap(mapId);
_loader.Load(mapId, proto.AtlasPath.ToString());
var mapUid = _mapManager.GetMapEntityId(mapId);
_mapManager.SetMapPaused(mapId, true);
comp = AddComp<DungeonAtlasTemplateComponent>(mapUid);
var opts = new MapLoadOptions
{
DeserializationOptions = DeserializationOptions.Default with {PauseMaps = true},
ExpectedCategory = FileCategory.Map
};
if (!_loader.TryLoadGeneric(proto.AtlasPath, out var res, opts) || !res.Maps.TryFirstOrNull(out var map))
throw new Exception($"Failed to load dungeon template.");
comp = AddComp<DungeonAtlasTemplateComponent>(map.Value.Owner);
comp.Path = proto.AtlasPath;
return mapId;
return map.Value.Comp.MapId;
}
/// <summary>