private BuilderPackage LoadPackage(string name) { var config = new BuilderPackage(); string path = BuilderPackage.PackagesDir + name + ".json"; config.name = name; if (File.Exists(path)) { config.FromJson(JObject.Parse(File.ReadAllText(path))); } else { config.InitializeNew(); } return(config); }
public static BuilderPackage GetPackage(string name) { if (string.IsNullOrEmpty(name)) { return(null); } var path = PackagesDir + name + ".json"; if (!File.Exists(path)) { return(null); } var package = new BuilderPackage(); package.name = name; package.FromJson(JObject.Parse(File.ReadAllText(path))); return(package); }
private void CopyPackage() { if (this._currentPackage == null) { return; } var obj = new JObject(); this._currentPackage.ToJson(obj); string nameBase = this._currentPackage.name; string name = nameBase; string path = null; int i = 0; while (true) { path = BuilderPackage.PackagesDir + name + ".json"; if (!File.Exists(path)) { break; } name = nameBase + (++i).ToString(); } var package = new BuilderPackage(); package.name = name; package.FromJson(obj); File.WriteAllText(path, obj.ToString(Newtonsoft.Json.Formatting.Indented), Encoding.UTF8); this._currentPackageName = name; this._currentPackage = package; this._currentPackageDirty = false; }