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..."); }
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..."); }
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..."); }
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..."); }
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); }
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..."); }
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..."); } }
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..."); }