/// <summary> /// Get PathsHelper object /// </summary> /// <param name="gameName"></param> /// <returns></returns> public static PathsHelper getPathsHelper(string gameName) { SPConfig config = SPConfig.loadConfig(); SPGame gameSettings = SettingsFactory.getGameSettings(gameName); SPSettings settings = SettingsFactory.getSettings(); PathsHelper paths = new PathsHelper(settings, gameSettings); return(paths); }
/// <summary> /// Load configuration from default XML settings configuration file /// </summary> /// <returns></returns> public static SPConfig loadConfig() { // vars SPConfig configuration; ILogger logger = Log4NetLogger.getInstance(LogAppender.APP_SETTINGS, Consts.DIR_SETTINGS); string configFile = PathsHelper.getConfigFileName(); // create if does not exit logger.Debug("CurrentDirectory:" + Directory.GetCurrentDirectory()); logger.Debug("Configuration file: " + configFile); logger.Debug("Cheking if configuration file exists"); if (!File.Exists(configFile)) { logger.Warn("config file does not exit!"); string xmlTemplate = Properties.Resources.SPConfig; logger.Debug("Creating config file from template: " + xmlTemplate); logger.Debug("Formatted XML:" + xmlTemplate); File.WriteAllText(configFile, xmlTemplate); logger.Debug("Config XML written successefuly!"); } // load content logger.Debug("reading condiguration file content"); // usar string XmlSerializer serializer = new XmlSerializer(typeof(SPConfig)); string xmlText = ""; if (File.Exists(configFile)) { xmlText = File.ReadAllText(configFile); } else { logger.Error("COULD NOD LOAD CONFIGURATION FILE " + configFile); return(new SPConfig()); } logger.Debug("xml configuration file: {" + xmlText + "}"); // desserialize configuration file logger.Debug("-- desserialize configuration file"); try { using (TextReader reader = new StringReader(xmlText)) { configuration = (SPConfig)serializer.Deserialize(reader); reader.Close(); } configuration.systemDefaults(); return(configuration); } catch (Exception ex) { logger.Error("*** COULD NOD PARSE CONFIGURATION FILE " + configFile); logger.Error("*** Message:" + ex.Message + ", StackTrace:" + ex.StackTrace); return(new SPConfig()); } }
/// <summary> /// Save current loaded configuration on the default configuration file. /// </summary> /// <returns></returns> public bool saveConfig(out string errMsg) { string configFile = PathsHelper.getConfigFileName(); return(this.saveConfig(configFile, out errMsg)); }