public Game ( IStorageProvider storageProvider, IReadInputProvider readInputProvider, ISendOutputProvider sendOutputProvider, IRandomProvider randomProvider, ITextMessagesProvider textMessagesProvider, ISettingsProvider settingsProvider ) { this.storageProvider = storageProvider; this.readInputProvider = readInputProvider; this.sendOutputProvider = sendOutputProvider; this.randomProvider = randomProvider; this.textMessagesProvider = textMessagesProvider; this.settingsProvider = settingsProvider; try { this.textMessages = textMessagesProvider.getTextMessages(); } catch (Exception e) { sendOutputProvider.printOutput(e.ToString()); sendOutputProvider.printOutput("Language settings failed to load, using default values instead"); this.textMessages = new TextMessages(); } try { this.settings = settingsProvider.getSettings(); } catch (Exception e) { sendOutputProvider.printOutput(e.ToString()); sendOutputProvider.printOutput(textMessages.SettingLoadingError); this.settings = new Settings(); } this.currentNumbers = new MyType[settings.NumberOfValues]; }
public ConsoleDrawing( IReadInputProvider readInputProvider, ISendOutputProvider sendOutputProvider, ITextMessagesProvider textMessagesProvider, ISettingsProvider settingsProvider, ICommands commands) { this.readInputProvider = readInputProvider; this.sendOutputProvider = sendOutputProvider; this.textMessagesProvider = textMessagesProvider; this.settingsProvider = settingsProvider; this.commands = commands; try { settings = settingsProvider.GetSettings(); } catch (Exception e) { sendOutputProvider.PrintOutput(e.ToString()); sendOutputProvider.PrintOutput("Settings failed to load, using default values instead"); settings = new Settings(); } try { textMessages = textMessagesProvider.GetTextMessages(); } catch (Exception e) { sendOutputProvider.PrintOutput(e.ToString()); sendOutputProvider.PrintOutput("Language settings failed to load, using default values instead"); textMessages = new TextMessages(); } settings.InitializeAllMenuKeys(); board = new Board(this.settings.BoardSizeX, settings.BoardSizeY); draw += this.commands.DrawDashboard; }