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;
 }
Esempio n. 2
0
 /// <summary>
 /// Dispose after all of the operations are complete
 /// </summary>
 public void Dispose()
 {
     _fileReader       = null;
     _gameSettings     = null;
     _validateSettings = null;
     _grid             = null;
     _observer         = null;
 }
Esempio n. 3
0
 public Game(IFileRead fileRead, IValidateSettings validateSettings, IReadSettingsModel settings)
 {
     _fileReader       = fileRead;
     _gameSettings     = settings;
     _validateSettings = validateSettings;
     _turtleStartPoint = _gameSettings.StartPoint;
     _grid             = new Grid(_gameSettings.Size.Y, _gameSettings.Size.X);
     _observer         = new Observer(_grid);
     Initialize();
 }
Esempio n. 4
0
 /// <summary>
 /// Factory pattern implementation
 /// </summary>
 private Game()
 {
     _fileReader       = FileRead.Instance();
     _gameSettings     = _fileReader.GetGameSettings();
     _validateSettings = new ValidateSettings(_gameSettings);
     _turtleStartPoint = _gameSettings.StartPoint;
     _grid             = new Grid(_gameSettings.Size.Y, _gameSettings.Size.X);
     _observer         = new Observer(_grid);
     Initialize();
 }
Esempio n. 5
0
        /// <summary>
        /// Validates module settings IValidateSettings
        /// </summary>
        /// <param name="module"></param>
        internal void ValidateModuleSettings(IValidateSettings module)
        {
            string            moduleName = ((ModuleBase)module).Name;
            IValidateSettings temp       = (IValidateSettings)module;

            foreach (var key in temp.CheckRequiredSettings())
            {
                if (!Settings.Contains(key))
                {
                    this.Robot.Print("Warning!! Required setting not found for module:" + moduleName + ", " + key);
                    this.Robot.Print("Missing:" + key);
                    return;
                }
            }
            var available = temp.GetAvailableSettings();

            if (available.Length > 0)
            {
                this.Robot.Print("AvailableSettings: {0} - {1}", moduleName, string.Join(", ", available));
            }
        }