Minor biomes change (#23494)
Maybe fixes void if there's exceptions, idk
This commit is contained in:
@@ -57,6 +57,8 @@ public sealed partial class BiomeSystem : SharedBiomeSystem
|
||||
private const float DefaultLoadRange = 16f;
|
||||
private float _loadRange = DefaultLoadRange;
|
||||
|
||||
private List<(Vector2i, Tile)> _tiles = new();
|
||||
|
||||
private ObjectPool<HashSet<Vector2i>> _tilePool =
|
||||
new DefaultObjectPool<HashSet<Vector2i>>(new SetPolicy<Vector2i>(), 256);
|
||||
|
||||
@@ -582,7 +584,6 @@ public sealed partial class BiomeSystem : SharedBiomeSystem
|
||||
|
||||
component.ForcedMarkerLayers.Clear();
|
||||
var active = _activeChunks[component];
|
||||
List<(Vector2i, Tile)>? tiles = null;
|
||||
|
||||
foreach (var chunk in active)
|
||||
{
|
||||
@@ -591,9 +592,8 @@ public sealed partial class BiomeSystem : SharedBiomeSystem
|
||||
if (!component.LoadedChunks.Add(chunk))
|
||||
continue;
|
||||
|
||||
tiles ??= new List<(Vector2i, Tile)>(ChunkSize * ChunkSize);
|
||||
// Load NOW!
|
||||
LoadChunk(component, gridUid, grid, chunk, seed, tiles);
|
||||
LoadChunk(component, gridUid, grid, chunk, seed);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -665,11 +665,11 @@ public sealed partial class BiomeSystem : SharedBiomeSystem
|
||||
EntityUid gridUid,
|
||||
MapGridComponent grid,
|
||||
Vector2i chunk,
|
||||
int seed,
|
||||
List<(Vector2i, Tile)> tiles)
|
||||
int seed)
|
||||
{
|
||||
component.ModifiedTiles.TryGetValue(chunk, out var modified);
|
||||
modified ??= _tilePool.Get();
|
||||
_tiles.Clear();
|
||||
|
||||
// Set tiles first
|
||||
for (var x = 0; x < ChunkSize; x++)
|
||||
@@ -686,15 +686,15 @@ public sealed partial class BiomeSystem : SharedBiomeSystem
|
||||
if (_mapSystem.TryGetTileRef(gridUid, grid, indices, out var tileRef) && !tileRef.Tile.IsEmpty)
|
||||
continue;
|
||||
|
||||
if (!TryGetBiomeTile(indices, component.Layers, seed, grid, out var biomeTile) || biomeTile.Value == tileRef.Tile)
|
||||
if (!TryGetBiomeTile(indices, component.Layers, seed, grid, out var biomeTile))
|
||||
continue;
|
||||
|
||||
tiles.Add((indices, biomeTile.Value));
|
||||
_tiles.Add((indices, biomeTile.Value));
|
||||
}
|
||||
}
|
||||
|
||||
_mapSystem.SetTiles(gridUid, grid, tiles);
|
||||
tiles.Clear();
|
||||
_mapSystem.SetTiles(gridUid, grid, _tiles);
|
||||
_tiles.Clear();
|
||||
|
||||
// Now do entities
|
||||
var loadedEntities = new Dictionary<EntityUid, Vector2i>();
|
||||
|
||||
Reference in New Issue
Block a user