public void Init(IAlgorithmsProvider algorithmsProvider,
                  IResourceLoader resourceLoader,
                  ISettingsBuilder settingsBuilder,
                  IAlgorithmSettingsInitialiser algorithmSettingsInitialiser,
                  IValidateSettings validateSettings,
                  IModelOptionsProvider modelOptionsProvider,
                  ICurrentSettingsHolder currentSettingsHolder,
                  ISceneLoader sceneLoader,
                  IWallCarverOptionsProvider wallCarverOptionsProvider,
                  IYesNoOptionsProvider yesNoOptionsProvider,
                  IMazeNeedsGenerating mazeNeedsGenerating,
                  IAgentOptionsProvider agentOptionsProvider)
 {
     _algorithmsProvider           = algorithmsProvider;
     _resourceLoader               = resourceLoader;
     _settingsBuilder              = settingsBuilder;
     _algorithmSettingsInitialiser = algorithmSettingsInitialiser;
     _validateSettings             = validateSettings;
     _modelOptionsProvider         = modelOptionsProvider;
     _currentSettingsHolder        = currentSettingsHolder;
     _sceneLoader = sceneLoader;
     _wallCarverOptionsProvider = wallCarverOptionsProvider;
     _yesNoOptionsProvider      = yesNoOptionsProvider;
     _mazeNeedsGenerating       = mazeNeedsGenerating;
     _agentOptionsProvider      = agentOptionsProvider;
 }
 public GrowingTreeSettingsBuilder(IResourceLoader resourceLoader, IAlgorithmSettingsInitialiser algorithmSettingsInitialiser, IGrowingTreeStrategyStorage growingTreeStrategyStorage)
 {
     _resourceLoader = resourceLoader;
     _algorithmSettingsInitialiser = algorithmSettingsInitialiser;
     _growingTreeStrategyStorage   = growingTreeStrategyStorage;
     AlgorithmType = Algorithm.GrowingTreeAlgorithm;
 }