public static void Load()
 {
     if (i != null)
     {
         return;
     }
     i = EditorPrefJson <E> .Get(Package.editorPrefName);
 }
Example #2
0
        /////////////////////////////////////////
        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();
            }
        }