public bool UpdateGameSettings() { string returnMessage = ""; BoolWithMessage didSetSettings = GameSettingsManager.UpdateGameSettings(SkipMovieIsChecked, DBufferIsChecked); BoolWithMessage didSetObjCount = BoolWithMessage.True(); // set to true by default in case the user does not have the file to modify BoolWithMessage didSetVideoSettings = ValidateAndUpdateVideoSettings(); if (GameSettingsManager.DoesInventorySaveFileExist()) { didSetObjCount = GameSettingsManager.ValidateAndUpdateObjectCount(ObjectCountText); if (didSetObjCount.Result == false) { returnMessage += didSetObjCount.Message; } } if (didSetSettings.Result == false) { returnMessage += didSetSettings.Message; } if (didSetVideoSettings.Result == false) { returnMessage += didSetVideoSettings.Message; } if (!didSetVideoSettings.Result || !didSetSettings.Result) { MessageService.Instance.ShowMessage(returnMessage); return(false); } returnMessage = "Game settings updated!"; if (GameSettingsManager.DoesInventorySaveFileExist() == false) { returnMessage += " Object count cannot be changed until a .sav file exists."; } if (SessionPath.IsSessionRunning()) { returnMessage += " Restart the game for changes to take effect."; } MessageService.Instance.ShowMessage(returnMessage); return(didSetSettings.Result && didSetObjCount.Result && didSetVideoSettings.Result); }