private static bool CheckNewVersionDialog(List <PackageRepository> requestPackageDatas, List <PackageRepository> cachedPackageDatas) { var installedPackageVersionsModel = PackageKitArchitectureConfig.GetModel <IInstalledPackageVersionsConfigModel>(); foreach (var requestPackageData in requestPackageDatas) { var cachedPacakgeData = cachedPackageDatas.Find(packageData => packageData.name == requestPackageData.name); var installedPackageVersion = installedPackageVersionsModel.GetByName(requestPackageData.name); if (installedPackageVersion == null) { } else if (cachedPacakgeData == null && requestPackageData.VersionNumber > installedPackageVersion.VersionNumber || cachedPacakgeData != null && requestPackageData.Installed && requestPackageData.VersionNumber > cachedPacakgeData.VersionNumber && requestPackageData.VersionNumber > installedPackageVersion.VersionNumber) { ShowDisplayDialog(requestPackageData.name); return(false); } } return(true); }
public void Execute() { var model = PackageKitArchitectureConfig.GetModel <IPackageManagerModel>(); var packageTypeConfigModel = PackageKitArchitectureConfig.GetModel <IPackageTypeConfigModel>(); var categories = model.Repositories.Select(p => p.type).Distinct() .Select(t => packageTypeConfigModel.GetFullTypeName(t)) .ToList(); categories.Insert(0, "all"); PackageManagerState.Categories.Value = categories; }
public void Execute() { var model = PackageKitArchitectureConfig.GetModel <IPackageManagerModel>(); var server = PackageKitArchitectureConfig.GetModel <IPackageManagerServer>(); var installedPackageVersionsModel = PackageKitArchitectureConfig.GetModel <IInstalledPackageVersionsConfigModel>(); installedPackageVersionsModel.Reload(); PackageManagerState.PackageRepositories.Value = model.Repositories.OrderBy(p => p.name).ToList(); PackageKitArchitectureConfig.SendCommand <UpdateCategoriesFromModelCommand>(); server.GetAllRemotePackageInfoV5((list, categories) => { model.Repositories = list.OrderBy(p => p.name).ToList(); PackageManagerState.PackageRepositories.Value = model.Repositories; PackageKitArchitectureConfig.SendCommand <UpdateCategoriesFromModelCommand>(); }); }
public void Execute() { var model = PackageKitArchitectureConfig.GetModel <IPackageManagerModel>(); var categoryIndex = PackageManagerState.CategoryIndex.Value; var categories = PackageManagerState.Categories.Value; var accessRightIndex = PackageManagerState.AccessRightIndex.Value; var repositories = model .Repositories .Where(p => p.name.ToLower().Contains(mKey)) .Where(p => categoryIndex == 0 || p.type.ToString() == categories[categoryIndex]) .Where(p => accessRightIndex == 0 || accessRightIndex == 1 && p.accessRight == "public" || accessRightIndex == 2 && p.accessRight == "private" ) .OrderBy(p => p.name) .ToList(); PackageManagerState.PackageRepositories.Value = repositories; }
public static void Do(PackageRepository requestPackageData) { var tempFile = "Assets/" + requestPackageData.name + ".unitypackage"; Debug.Log(requestPackageData.latestDownloadUrl + ">>>>>>:"); EditorUtility.DisplayProgressBar("插件更新", "插件下载中 ...", 0.1f); EditorHttp.Download(requestPackageData.latestDownloadUrl, response => { if (response.Type == ResponseType.SUCCEED) { File.WriteAllBytes(tempFile, response.Bytes); EditorUtility.ClearProgressBar(); AssetDatabase.ImportPackage(tempFile, false); File.Delete(tempFile); AssetDatabase.Refresh(); Debug.Log("PackageManager:插件下载成功"); PackageKitArchitectureConfig.GetModel <IInstalledPackageVersionsConfigModel>() .Reload(); } else { EditorUtility.ClearProgressBar(); EditorUtility.DisplayDialog(requestPackageData.name, "插件安装失败,请联系 [email protected] 或者加入 QQ 群:623597263" + response.Error + ";", "OK"); } }, OnProgressChanged); }
public void OnCreateUIPanelClick() { var panelName = mPanelNameToCreate; if (panelName.IsNotNullAndEmpty()) { var fullScenePath = "Assets/Scenes/TestUIPanels/".CreateDirIfNotExists() .Append("Test{0}.unity".FillFormat(panelName)).ToString(); var panelPrefabPath = "Assets/Art/UIPrefab/".CreateDirIfNotExists() .Append("{0}.prefab".FillFormat(panelName)).ToString(); if (File.Exists(panelPrefabPath)) { PackageKitArchitectureConfig.GetUtility <IEditorDialogUtility>() .ShowErrorMsg("UI 界面已存在:{0}".FillFormat(panelPrefabPath)); return; } if (File.Exists(fullScenePath)) { PackageKitArchitectureConfig.GetUtility <IEditorDialogUtility>() .ShowErrorMsg("测试场景已存在:{0}".FillFormat(fullScenePath)); return; } RenderEndCommandExecuter.PushCommand(() => { var currentScene = SceneManager.GetActiveScene(); EditorSceneManager.SaveScene(currentScene); var scene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene); EditorSceneManager.SaveScene(scene, fullScenePath); var uiroot = Resources.Load <GameObject>("UIRoot").Instantiate().Name("UIRoot"); var designTransform = uiroot.transform.Find("Design"); var gameObj = new GameObject(panelName); gameObj.transform.Parent(designTransform) .LocalScaleIdentity(); var rectTransform = gameObj.AddComponent <RectTransform>(); rectTransform.offsetMin = Vector2.zero; rectTransform.offsetMax = Vector2.zero; rectTransform.anchoredPosition3D = Vector3.zero; rectTransform.anchorMin = Vector2.zero; rectTransform.anchorMax = Vector2.one; var prefab = PrefabUtils.SaveAndConnect(panelPrefabPath, gameObj); EditorSceneManager.SaveScene(scene); // 标记 AssetBundle ResKitAssetsMenu.MarkAB(panelPrefabPath); var tester = new GameObject("Test{0}".FillFormat(panelName)); var uiPanelTester = tester.AddComponent <UIPanelTester>(); uiPanelTester.PanelName = panelName; // 开始生成代码 UICodeGenerator.DoCreateCode(new[] { prefab }); }); } }