Biome rework (#37735)
* 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>
This commit is contained in:
@@ -32,7 +32,10 @@ public sealed partial class DungeonJob
|
||||
if (!_anchorable.TileFree((_gridUid, _grid), neighbor, DungeonSystem.CollisionLayer, DungeonSystem.CollisionMask))
|
||||
continue;
|
||||
|
||||
tiles.Add((neighbor, _tile.GetVariantTile((ContentTileDefinition) tileDef, random)));
|
||||
var tile = _tile.GetVariantTile((ContentTileDefinition)tileDef, random);
|
||||
tiles.Add((neighbor, tile));
|
||||
AddLoadedTile(neighbor, tile);
|
||||
DebugTools.Assert(dungeon.AllTiles.Contains(neighbor));
|
||||
}
|
||||
|
||||
foreach (var index in dungeon.CorridorExteriorTiles)
|
||||
@@ -43,7 +46,10 @@ public sealed partial class DungeonJob
|
||||
if (!_anchorable.TileFree((_gridUid, _grid), index, DungeonSystem.CollisionLayer, DungeonSystem.CollisionMask))
|
||||
continue;
|
||||
|
||||
tiles.Add((index, _tile.GetVariantTile((ContentTileDefinition)tileDef, random)));
|
||||
var tile = _tile.GetVariantTile((ContentTileDefinition)tileDef, random);
|
||||
tiles.Add((index, tile));
|
||||
AddLoadedTile(index, tile);
|
||||
DebugTools.Assert(dungeon.AllTiles.Contains(index));
|
||||
}
|
||||
|
||||
_maps.SetTiles(_gridUid, _grid, tiles);
|
||||
@@ -82,18 +88,21 @@ public sealed partial class DungeonJob
|
||||
}
|
||||
|
||||
if (isCorner)
|
||||
_entManager.SpawnEntity(cornerWall, _maps.GridTileToLocal(_gridUid, _grid, index.Index));
|
||||
{
|
||||
var uid = _entManager.SpawnEntity(cornerWall, _maps.GridTileToLocal(_gridUid, _grid, index.Index));
|
||||
AddLoadedEntity(index.Index, uid);
|
||||
}
|
||||
|
||||
if (!isCorner)
|
||||
_entManager.SpawnEntity(wall, _maps.GridTileToLocal(_gridUid, _grid, index.Index));
|
||||
|
||||
if (i % 20 == 0)
|
||||
{
|
||||
await SuspendDungeon();
|
||||
|
||||
if (!ValidateResume())
|
||||
return;
|
||||
var uid = _entManager.SpawnEntity(wall, _maps.GridTileToLocal(_gridUid, _grid, index.Index));
|
||||
AddLoadedEntity(index.Index, uid);
|
||||
}
|
||||
|
||||
await SuspendDungeon();
|
||||
|
||||
if (!ValidateResume())
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user