/// <summary> /// Стандартный конструктор без параметров /// </summary> public AppModel() { //загружаем основные настройки AppSettingsPath = AppInfoConsts.GameplaySettingsPath; bool settingsLoadingResult = AppSerializationManager.LoadDataFromFileSafe <GameplaySettingsData>(AppSettingsPath, out _appGameplaySettingsData); if (!settingsLoadingResult) { _appGameplaySettingsData = GameplaySettingsData.GetDefaultSettings(); } //настройки (даже свежезагруженные) нужно сохранить, чтобы убедится, что новые добавленные разработчиком //пункты также были отражены в файле AppSerializationManager.SaveDataToFile <GameplaySettingsData>(_appGameplaySettingsData, AppSettingsPath); //загружаем рекорды игроков bool recordsLoadingResult = AppSerializationManager.LoadDataFromFileSafe(AppRecordsPath, out _appRecordsData); if (!recordsLoadingResult) { _appRecordsData = RecordsData.GetStandardRecords(); } _appRecordsData.CheckAndApplyConstraints(); //рекорды (даже свежезагруженные) нужно сохранить, чтобы убедится, что новые добавленные разработчиком //дополнительные поля также были отражены в файле AppSerializationManager.SaveDataToFile(_appRecordsData, AppRecordsPath); }
/// <summary> /// Конструктор с параметром, переопределяющим стандартный путь к настройкам игры /// </summary> /// <param name="parSettingsPath">Переопределенный путь к настройкам игры</param> public AppModel(string parSettingsPath) { AppSettingsPath = parSettingsPath; _appGameplaySettingsData = AppSerializationManager.LoadDataFromFile <GameplaySettingsData>(AppSettingsPath); }
/// <summary> /// Конструктор с параметрами, переопределяющими данные о настройках игры и пути к настройкам игры /// </summary> /// <param name="parAppGameplaySettingsData"></param> /// <param name="parSettingsPath"></param> public AppModel(GameplaySettingsData parAppGameplaySettingsData, string parSettingsPath) { _appGameplaySettingsData = parAppGameplaySettingsData; AppSettingsPath = parSettingsPath; }