internal void Save()
{
this.Validate();
try
{
var content = JsonObject.From(this).Stringify();
var currentContent = File.Exists(SETTINGS_PATH) ? File.ReadAllText(SETTINGS_PATH, DefaultEncoding) : null;
if (string.Equals(content, currentContent, StringComparison.OrdinalIgnoreCase))
return; // no changes
File.WriteAllText(SETTINGS_PATH, content, DefaultEncoding);
}
catch (Exception e)
{
Debug.LogError(string.Format("Failed to save settings for Charon in file '{0}'.", SETTINGS_PATH));
Debug.LogError(e);
}
}