27 lines
834 B
C#
27 lines
834 B
C#
|
|
namespace SpaceGame.Api.Universe.Scenario;
|
|
|
|
public sealed class ScenarioLoader
|
|
{
|
|
private readonly WorldBuilder _worldBuilder;
|
|
|
|
public ScenarioLoader(string contentRootPath, WorldGenerationOptions? worldGeneration = null)
|
|
{
|
|
var generationOptions = worldGeneration ?? new WorldGenerationOptions();
|
|
var dataRoot = Path.GetFullPath(Path.Combine(contentRootPath, "..", "..", "shared", "data"));
|
|
var dataLoader = new DataCatalogLoader(dataRoot);
|
|
var generationService = new SystemGenerationService();
|
|
var spatialBuilder = new SpatialBuilder();
|
|
var seedingService = new WorldSeedingService();
|
|
|
|
_worldBuilder = new WorldBuilder(
|
|
generationOptions,
|
|
dataLoader,
|
|
generationService,
|
|
spatialBuilder,
|
|
seedingService);
|
|
}
|
|
|
|
public SimulationWorld Load() => _worldBuilder.Build();
|
|
}
|