public void InitPackageVersionAction(UPMToolExtension upmToolExtension) { _getGitTagsButton.clicked += () => { upmToolExtension.GetGitTags(_tagsList, ApplyChoices); }; _versionTagsPopupField.RegisterValueChangedCallback <string>(upmToolExtension.SelectVersion); _changeVersionButton.clicked += upmToolExtension.ChangeVersion; }
public void DrawDependenciesUt(PackageJsonInfo packageJsonInfo, UPMToolExtension upmToolExtension) { var dependRoot = this.Q <VisualElement>("dependencies_item_root"); // 归还所有节点 var childCount = dependRoot.childCount; for (int i = 0; i < childCount; i++) { var item = dependRoot.ElementAt(0); ReturnDependenciesItem(item); dependRoot.RemoveAt(0); } if (packageJsonInfo.dependenciesUt.Count <= 0) { GetNoneDependenciesTip().style.display = new StyleEnum <DisplayStyle>(DisplayStyle.Flex); return; } else { GetNoneDependenciesTip().style.display = new StyleEnum <DisplayStyle>(DisplayStyle.None); } // 绘制节点 foreach (var dependency in packageJsonInfo.dependenciesUt) { var item = GetDependenciesItem(); dependRoot.Add(item); item.Q <Label>("packageName_lab").text = dependency.packageName; item.Q <Label>("version_lab").text = dependency.version; var button = item.Q <Button>("import_btn"); button.clickable = null; if (upmToolExtension.InstalledPackageInfos.ContainsKey(dependency.packageName)) { button.text = "imported"; button.SetEnabled(false); } else { button.text = "import"; button.SetEnabled(true); button.clicked += () => { Debug.Log($"click {dependency.packageName}"); upmToolExtension.InstallDependenciesPackage($"{dependency.packageName}@{dependency.version}"); }; } } }