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:
@@ -199,7 +199,8 @@ public sealed partial class DungeonSystem : SharedDungeonSystem
|
||||
MapGridComponent grid,
|
||||
Vector2i position,
|
||||
int seed,
|
||||
EntityCoordinates? coordinates = null)
|
||||
EntityCoordinates? coordinates = null,
|
||||
HashSet<Vector2i>? reservedTiles = null)
|
||||
{
|
||||
var cancelToken = new CancellationTokenSource();
|
||||
var job = new DungeonJob.DungeonJob(
|
||||
@@ -221,18 +222,20 @@ public sealed partial class DungeonSystem : SharedDungeonSystem
|
||||
seed,
|
||||
position,
|
||||
coordinates,
|
||||
cancelToken.Token);
|
||||
cancelToken.Token,
|
||||
reservedTiles);
|
||||
|
||||
_dungeonJobs.Add(job, cancelToken);
|
||||
_dungeonJobQueue.EnqueueJob(job);
|
||||
}
|
||||
|
||||
public async Task<List<Dungeon>> GenerateDungeonAsync(
|
||||
public async Task<(List<Dungeon>, DungeonData)> GenerateDungeonAsync(
|
||||
DungeonConfig gen,
|
||||
EntityUid gridUid,
|
||||
MapGridComponent grid,
|
||||
Vector2i position,
|
||||
int seed)
|
||||
int seed,
|
||||
HashSet<Vector2i>? reservedTiles = null)
|
||||
{
|
||||
var cancelToken = new CancellationTokenSource();
|
||||
var job = new DungeonJob.DungeonJob(
|
||||
@@ -254,7 +257,8 @@ public sealed partial class DungeonSystem : SharedDungeonSystem
|
||||
seed,
|
||||
position,
|
||||
null,
|
||||
cancelToken.Token);
|
||||
cancelToken.Token,
|
||||
reservedTiles);
|
||||
|
||||
_dungeonJobs.Add(job, cancelToken);
|
||||
_dungeonJobQueue.EnqueueJob(job);
|
||||
@@ -265,7 +269,7 @@ public sealed partial class DungeonSystem : SharedDungeonSystem
|
||||
throw job.Exception;
|
||||
}
|
||||
|
||||
return job.Result!;
|
||||
return job.Result;
|
||||
}
|
||||
|
||||
public Angle GetDungeonRotation(int seed)
|
||||
|
||||
Reference in New Issue
Block a user