Пример #1
0
        private void onRemoveScopedRegistry(int index)
        {
            if (model.ManifestJsonData["scopedRegistries"].Count > 1)
            {
                var newScopedRegistries = new JsonData();
                var oldScopedRegistries = model.ManifestJsonData["scopedRegistries"];
                var counter             = 0;
                for (int i = 0; i < oldScopedRegistries.Count; i++)
                {
                    if (i == index)
                    {
                        continue;
                    }
                    newScopedRegistries.Add(1);
                    newScopedRegistries[counter++] = oldScopedRegistries[i];
                }
                model.ManifestJsonData["scopedRegistries"] = newScopedRegistries;
            }
            else
            {
                model.ManifestJsonData.Remove("scopedRegistries");
            }

            FileUtility.SaveManifestJson(convertPackagJsonString(model.ManifestJsonData));
            reloadProcess();
            Debug.Log($"CustomPackageManager: Remove a scopedRegistry, wait for resolving package by PackageManager...");
        }
Пример #2
0
        private void onAddScopedRegistries(CustomPackageManagerScopedRegistry scopedRegistry)
        {
            var addSR = new JsonData();

            addSR["name"] = scopedRegistry.RegistryName;
            addSR["url"]  = scopedRegistry.URL;

            var scopesList = scopedRegistry.GetScopesByList();
            var addScopes  = new JsonData();

            for (int i = 0; i < scopesList.Count; i++)
            {
                addScopes.Add(1);
                addScopes[i] = scopesList[i];
            }
            addSR["scopes"] = addScopes;

            if (!model.ManifestJsonData.ContainsKey("scopedRegistries"))
            {
                var firstScope = new JsonData();
                firstScope.Add(1);
                firstScope[0] = addSR;
                model.ManifestJsonData["scopedRegistries"] = firstScope;
            }
            else
            {
                var registryCount = model.ManifestJsonData["scopedRegistries"].Count;
                model.ManifestJsonData["scopedRegistries"].Add(1);
                model.ManifestJsonData["scopedRegistries"][registryCount] = addSR;
            }

            FileUtility.SaveManifestJson(convertPackagJsonString(model.ManifestJsonData));
            reloadProcess();
            Debug.Log($"CustomPackageManager: Add a scopedRegistry [ {scopedRegistry.RegistryName} ], wait for resolving package by PackageManager...");
        }
Пример #3
0
        private void onUpdateGitPackage(string packageName)
        {
            model.ManifestJsonData["lock"][packageName] = null;
            FileUtility.SaveManifestJson(convertPackagJsonString(model.ManifestJsonData));
            reloadProcess();

            Debug.Log($"CustomPackageManager: Update git package [ {packageName} ], wait for resolving package by PackageManager...");
        }
Пример #4
0
        private void onRemoveDependencies(string packageName)
        {
            model.ManifestJsonData["dependencies"].Remove(packageName);

            FileUtility.SaveManifestJson(convertPackagJsonString(model.ManifestJsonData));
            reloadProcess();

            Debug.Log($"CustomPackageManager: Remove package [ {packageName} ], wait for resolving package by PackageManager...");
        }
Пример #5
0
        public static SettingsProvider PreferenceView()
        {
            var manifestJson = FileUtility.LoadManifestJson();
            var model        = new CustomPackageManagerModel(manifestJson);
            var view         = new CustomPackageManagerGUI();
            var presenter    = new CustomPackageManagerPresenter(model, view);

            var provider = new SettingsProvider("Preferences/CustomPackageManager", SettingsScope.User)
            {
                label           = "CustomPackageManager",
                activateHandler = (searchContext, rootElement) => {
                    var basicContainer = new VisualElement()
                    {
                        style =
                        {
                            paddingTop    =                    5,
                            paddingLeft   =                   10,
                            paddingRight  =                   10,
                            flexDirection = FlexDirection.Column,
                        }
                    };

                    var titleElement = new VisualElement();
                    titleElement.Add(new Label()
                    {
                        text  = "CustomPackageManager",
                        style =
                        {
                            fontSize                =             15,
                            unityFontStyleAndWeight = FontStyle.Bold,
                            flexBasis =             25,
                            minHeight =             25,
                        }
                    });

                    var imguiContainer = new IMGUIContainer(() =>
                    {
                        view.OnIMGUI();
                    });
                    imguiContainer.style.flexBasis = 1000;

                    basicContainer.Add(titleElement);
                    basicContainer.Add(imguiContainer);
                    rootElement.Add(basicContainer);
                },
                guiHandler = (searchText) => {
                },
                keywords   = new[] { "CustomPackageManager" }
            };

            return(provider);
        }
Пример #6
0
        private void onAddDependencies(string packageName, string version)
        {
            if (string.IsNullOrEmpty(packageName) || string.IsNullOrEmpty(version))
            {
                Debug.LogWarning("PackageName and Version cannot be null.");
                return;
            }
            model.ManifestJsonData["dependencies"][packageName] = version;

            FileUtility.SaveManifestJson(convertPackagJsonString(model.ManifestJsonData));
            CustomPackageManagerWindow.PreferenceView();
            view.Reload();
            AssetDatabase.Refresh();

            Debug.Log($"CustomPackageManager: Add package [ {packageName} : {version} ], wait for resolving package by PackageManager...");
        }
Пример #7
0
        private void onAddRegistry(string registryURL)
        {
            if (string.IsNullOrEmpty(registryURL))
            {
                model.ManifestJsonData.Remove("registry");
            }
            else
            {
                model.ManifestJsonData["registry"] = registryURL;
            }
            FileUtility.SaveManifestJson(convertPackagJsonString(model.ManifestJsonData));
            reloadProcess();

            if (string.IsNullOrEmpty(registryURL))
            {
                Debug.Log($"CustomPackageManager: Remove Registry URL, wait for resolving package by PackageManager...");
            }
            else
            {
                Debug.Log($"CustomPackageManager: Add Registry URL [ {registryURL} ], wait for resolving package by PackageManager...");
            }
        }
Пример #8
0
        private void onScopedRegistryScopesChange(CustomPackageManagerScopedRegistry scopedRegistry)
        {
            var changeSR = new JsonData();

            changeSR["name"] = scopedRegistry.RegistryName;
            changeSR["url"]  = scopedRegistry.URL;

            var scopesList = scopedRegistry.GetScopesByList();
            var addScopes  = new JsonData();

            for (int i = 0; i < scopesList.Count; i++)
            {
                addScopes.Add(1);
                addScopes[i] = scopesList[i];
            }
            changeSR["scopes"] = addScopes;

            model.ManifestJsonData["scopedRegistries"][scopedRegistry.id] = changeSR;

            FileUtility.SaveManifestJson(convertPackagJsonString(model.ManifestJsonData));
            reloadProcess();
            Debug.Log($"CustomPackageManager: Change [ {scopedRegistry.RegistryName}'s scopes ], wait for resolving package by PackageManager...");
        }