Beispiel #1
0
		/// <summary>
		/// Loads a configuration file and deserializes it from JSON
		/// </summary>
		public static Config FromFile(string Path)
		{
			Config config = null;

			if (!System.IO.Directory.Exists(Config.BaseDirectory)) {
				try {
					System.IO.Directory.CreateDirectory(Config.BaseDirectory);
				} catch {
					TShock.Log.ConsoleError("seconomy configuration: Cannot create base directory: {0}", Config.BaseDirectory);
					return null;
				}
			}

			try {
				string fileText = System.IO.File.ReadAllText(Path);
				config = JsonConvert.DeserializeObject<Config>(fileText);
				config.path = Path;
			} catch (Exception ex) {
				if (ex is System.IO.FileNotFoundException || ex is System.IO.DirectoryNotFoundException) {
					TShock.Log.ConsoleError("seconomy configuration: Cannot find file or directory. Creating new one.");
					config = new Config(Path);
					config.SaveConfiguration();
				} else if (ex is System.Security.SecurityException) {
					TShock.Log.ConsoleError("seconomy configuration: Access denied reading file " + Path);
				} else {
					TShock.Log.ConsoleError("seconomy configuration: error " + ex.ToString());
				}
			}
			return config;
		}
Beispiel #2
0
 public static bool ReadConfig()
 {
     string filepath = Path.Combine(TShock.SavePath, "LotteryConfig.json");
     try
     {
         if (File.Exists(filepath))
         {
             using (var stream = new FileStream(filepath, FileMode.Open, FileAccess.Read, FileShare.Read))
             {
                 using (var sr = new StreamReader(stream))
                 {
                     var configString = sr.ReadToEnd();
                     config = JsonConvert.DeserializeObject<Config>(configString);
                 }
                 stream.Close();
             }
             return true;
         }
         else
         {
             Log.ConsoleError("Lottery config not found. Creating new one...");
             CreateConfig();
             return false;
         }
     }
     catch (Exception ex)
     {
         Log.ConsoleError(ex.Message);
     }
     return false;
 }
Beispiel #3
0
 private void CreateConfig()
 {
     string filepath = Path.Combine(TShock.SavePath, "CawAIO.json");
     try
     {
         using (var stream = new FileStream(filepath, FileMode.Create, FileAccess.Write, FileShare.Write))
         {
             using (var sr = new StreamWriter(stream))
             {
                 config = new Config();
                 var configString = JsonConvert.SerializeObject(config, Formatting.Indented);
                 sr.Write(configString);
             }
             stream.Close();
         }
     }
     catch (Exception ex)
     {
         Log.ConsoleError(ex.Message);
     }
 }
Beispiel #4
0
        public static Config NewSampleConfiguration() {
            Config newConfig = new Config();

            return newConfig;
        }