to rename
This commit is contained in:
48
apps/backend/Universe/Bootstrap/WorldBootstrapper.cs
Normal file
48
apps/backend/Universe/Bootstrap/WorldBootstrapper.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using Microsoft.Extensions.Options;
|
||||
using SpaceGame.Api.Universe.Scenario;
|
||||
using SpaceGame.Api.Universe.Simulation;
|
||||
|
||||
namespace SpaceGame.Api.Universe.Bootstrap;
|
||||
|
||||
public sealed class WorldBootstrapper
|
||||
{
|
||||
private readonly BalanceOptions _defaultBalance;
|
||||
private readonly WorldGenerationOptions _defaultWorldGeneration;
|
||||
private readonly StaticDataCatalog _staticData;
|
||||
private readonly ScenarioLoader _scenarioLoader;
|
||||
private readonly SystemTemplateLoader _systemTemplateLoader;
|
||||
private readonly WorldBuilder _worldBuilder;
|
||||
|
||||
public WorldBootstrapper(
|
||||
StaticDataCatalog staticData,
|
||||
ScenarioLoader scenarioLoader,
|
||||
SystemTemplateLoader systemTemplateLoader,
|
||||
WorldBuilder worldBuilder,
|
||||
IOptions<BalanceOptions> defaultBalanceOptions,
|
||||
IOptions<WorldGenerationOptions> defaultWorldGenerationOptions)
|
||||
{
|
||||
_defaultBalance = defaultBalanceOptions.Value;
|
||||
_defaultWorldGeneration = defaultWorldGenerationOptions.Value;
|
||||
_staticData = staticData;
|
||||
_scenarioLoader = scenarioLoader;
|
||||
_systemTemplateLoader = systemTemplateLoader;
|
||||
_worldBuilder = worldBuilder;
|
||||
}
|
||||
|
||||
public SimulationWorld Bootstrap()
|
||||
{
|
||||
var scenario = _scenarioLoader.Load();
|
||||
var gameStartOptions = scenario?.GameStartOptions ?? new GameStartOptionsDefinition
|
||||
{
|
||||
Seed = 1,
|
||||
WorldGeneration = _defaultWorldGeneration,
|
||||
};
|
||||
|
||||
return _worldBuilder.Build(
|
||||
_staticData,
|
||||
_defaultBalance,
|
||||
_systemTemplateLoader.Load(),
|
||||
gameStartOptions,
|
||||
scenario);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user