///////////////////////////////////////// public void LoadDefault() { foreach (var p in P.i.m_data) { var info = Utils.GetPackageInfo(p.name); var it = new PackageTreeItem { name = p.name, value = p.version, displayName = p.displayName, id = GetID(), icon = info.icon, version = p.version.StartsWith("http") ? "URL" : p.version, }; m_root.AddChild(it); //Debug.Log( it.displayName ); } ManifestJsonUtils.Load(); var mfdic = ManifestJsonUtils.GetDependencies(); E.Load(); foreach (var path in E.i.m_dirList) { if (path.IsEmpty()) { continue; } var files = DirectoryUtils.GetFiles(path, "package.json", System.IO.SearchOption.AllDirectories); foreach (var fname in files) { //Debug.Log( sss ); var packageJson = PackageJson.Load(fname); if (mfdic.Contains(packageJson.name)) { continue; } var info = Utils.GetPackageInfo(packageJson.name); var it = new PackageTreeItem { name = packageJson.name, value = "file:" + fname.DirectoryName().Replace('\\', '/'), displayName = info.displayName, id = GetID(), icon = info.icon, version = packageJson.version, //localPackage = true, }; m_root.AddChild(it); } } }
public static bool GetDisplayName(ref PackageInfo info, string packageName) { if (dic == null) { dic = new Hashtable(); E.Load(); foreach (var path in E.i.m_dirList) { if (path.IsEmpty()) { continue; } var files = DirectoryUtils.GetFiles(path, "package.json", System.IO.SearchOption.AllDirectories); foreach (var fname in files) { var pj = PackageJson.Load(fname); if (dic.Contains(pj.name)) { Debug.LogWarning($"Duplicate: {pj.name}: {fname}"); continue; } dic.Add(pj.name, pj); } } } if (dic.Contains(packageName)) { info.displayName = ((PackageJson)dic[packageName]).displayName; info.version = ((PackageJson)dic[packageName]).version; return(true); } info.displayName = string.Empty; info.version = string.Empty; return(false); }
///////////////////////////////////////// public static void DrawGUI() { E.Load(); s_changed = false; if (s_reorderableList == null) { s_reorderableList = MakeRLFromHierarchy(); } EditorGUI.BeginChangeCheck(); DrawCommandTable(s_reorderableList); if (EditorGUI.EndChangeCheck()) { s_changed = true; } if (s_changed) { E.Save(); EditorApplication.RepaintHierarchyWindow(); } }