private void OnManagerGUI() { using (new GUILayout.HorizontalScope(EditorStyles.toolbar)) { GUILayout.Space(1); if (GUILayout.Button("Refresh", EditorStyles.toolbarButton)) { PackageManager.RefreshPackages(); } GUILayout.FlexibleSpace(); GUILayout.Label(PackageManager.packagesDirectory, EditorStyles.toolbarButton); GUILayout.Space(5); if (GUILayout.Button("Reset", EditorStyles.toolbarButton)) { PackageManager.packagesDirectory = null; } } if (m_packageNamesToImport != null && m_packageNamesToImport.Length > 0) { using (new GUILayout.HorizontalScope(EditorStyles.helpBox)) { GUILayout.FlexibleSpace(); using (new GUILayout.VerticalScope()) { using (new GUILayout.HorizontalScope()) { var oldColor = GUI.color; GUI.color = Color.green; if (GUILayout.Button("Import " + m_packageNamesToImport[0], GUILayout.Width(220), GUILayout.Height(22))) { var packageName = m_packageNamesToImport[0]; m_packageNamesToImport = m_packageNamesToImport.Skip(1).ToArray(); EditorApplication.delayCall += () => PackageManager.ImportPackage(packageName); } GUI.color = oldColor; if (GUILayout.Button("Cancel", GUILayout.Width(60), GUILayout.Height(22))) { m_packageNamesToImport = new string[0]; } } for (int i = 0; i < m_packageNamesToImport.Length; i++) { GUILayout.Label(m_packageNamesToImport[i], Content.centeredMiniLabel); } } GUILayout.FlexibleSpace(); } } DrawList("Update available", PackageManager.changedInstalledPackages, "Update", Color.yellow, PrepareImportPackage); DrawList("Installed", PackageManager.actualInstalledPackages, "Uninstall", Color.white, package => { if (EditorUtility.DisplayDialog("Uninstall package", "Are you really want to uninstall " + package.name + " package", "Uninstall", "Cancel")) { EditorApplication.delayCall += () => PackageManager.UninstallPackage(package.name); } }); DrawList("Not Instaled", PackageManager.notInstalledPackages, "Install", Color.white, PrepareImportPackage); }
private void OnFocus() { PackageManager.RefreshPackages(); }