* DungeonData rework Back to fields, serializes better, just make new layers dumby. * wawawewa * Fix this * Fixes * Port the work over * wawawewa * zoom * Kinda workin * Adjust wawa * Unloading work * Ore + entitytable fixes Iterate every dungeon not just last. * Big shot * wawawewa * Fixes * true * Fixes # Conflicts: # Content.Server/Procedural/DungeonJob/DungeonJob.cs * wawawewa * Fixes * Fix * Lot of work * wawawewa * Fixing * eh? * a * Fix a heap of stuff * Better ignored check * Reserve tile changes * biome * changes * wawawewa * Fixes & snow * Shadow fixes * wawawewa * smol * Add layer API * More work * wawawewa * Preloads and running again * wawawewa * Modified * Replacements and command * Runtime support * werk * Fix expeds + dungeon alltiles * reh --------- Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
42 lines
869 B
C#
42 lines
869 B
C#
using System.Linq;
|
|
using System.Numerics;
|
|
using Robust.Shared.Map;
|
|
|
|
namespace Content.Shared.Procedural;
|
|
|
|
/// <summary>
|
|
/// Contains the loaded data for a dungeon.
|
|
/// </summary>
|
|
[DataDefinition]
|
|
public sealed partial class DungeonData
|
|
{
|
|
[DataField]
|
|
public Dictionary<uint, Vector2> Decals = new();
|
|
|
|
[DataField]
|
|
public Dictionary<EntityUid, Vector2i> Entities = new();
|
|
|
|
[DataField]
|
|
public Dictionary<Vector2i, Tile> Tiles = new();
|
|
|
|
public static DungeonData Empty = new();
|
|
|
|
public void Merge(DungeonData data)
|
|
{
|
|
foreach (var did in data.Decals)
|
|
{
|
|
Decals[did.Key] = did.Value;
|
|
}
|
|
|
|
foreach (var ent in data.Entities)
|
|
{
|
|
Entities[ent.Key] = ent.Value;
|
|
}
|
|
|
|
foreach (var tile in data.Tiles)
|
|
{
|
|
Tiles[tile.Key] = tile.Value;
|
|
}
|
|
}
|
|
}
|