public void Apply() { try { //var refs = (IList) m_json[ "references" ]; if (m_json.ContainsKey("references")) { var s = m_reference.Where(x => x.toggle).Select(x => x.asmname).ToArray(); m_json["references"] = s; } if (m_json.ContainsKey("references.backup")) { var s = m_reference.Where(x => !x.toggle).Select(x => x.asmname).ToArray(); m_json["references.backup"] = s; } else { var s = m_reference.Where(x => !x.toggle).Select(x => x.asmname).ToArray(); m_json.Add("references.backup", s); } fs.WriteAllText(assetPath, EditorJson.Serialize(m_json, true), new UTF8Encoding(false)); AssetDatabase.ImportAsset(assetPath); } catch (Exception e) { Debug.LogException(e); } }
public static PackageJson Load(string filepath) { var data = EditorJson.Deserialize(filepath.ReadAllText()) as Dictionary <string, object>; return(new PackageJson { m_data = data, }); }
void OnEnable() { SetTitle($"{assetPath.FileNameWithoutExtension()}"); if (arg != null) { assetPath = arg; arg = null; } var asmdef = assetPath.LoadAsset <AssemblyDefinitionAsset>(); m_json = (Dictionary <string, object>)EditorJson.Deserialize(asmdef.text); var dic = (IList)m_json["references"]; m_reference = new List <Ref>(128); foreach (var e in dic) { var val = new Ref { asmname = (string)e, toggle = true, }; m_reference.Add(val); } if (m_json.ContainsKey("references.backup")) { dic = (IList)m_json["references.backup"]; foreach (var e in dic) { var val = new Ref { asmname = (string)e, toggle = false, }; m_reference.Add(val); } } }