This commit is contained in:
陈思海 2025-02-20 11:44:00 +08:00
parent d04ec57ba7
commit 5712e3be38
4 changed files with 16 additions and 8 deletions

View File

@ -86,10 +86,9 @@ namespace AlicizaX.PackageManager.Editor
private const string PackageJsonPath = "/raw/branch/main/package.json";
public static void FetchRepositoryData(Action<List<RepositoryPackageData>> callback)
{
EditorPrefs.SetString("PackageUpdateDate", DateTime.Now.ToString());
EditorCoroutineUtility.StartCoroutineOwnerless(FetchDataRoutine(callback));
}
@ -188,7 +187,7 @@ namespace AlicizaX.PackageManager.Editor
private static void UpdateWithPackageInfo(ref RepositoryPackageData data, PackageJsonResponse package)
{
if (package == null) return;
data.name = package.name;
data.displayName = package.displayName;
data.version = package.version;
data.unityVersion = package.unity;

View File

@ -12,8 +12,13 @@ namespace AlicizaX.PackageManager.Editor
internal class FrameworkPackageManagerWindow : EditorWindow
{
private const string VisualAssetPath = "Packages/com.alicizax.unity.packagemanager/Editor/PackageManager/Res/AlicizaXPackageManagerWindow.uxml";
public List<RepositoryPackageData> RepositoryPackageDatas = new List<RepositoryPackageData>();
public List<RepositoryPackageData> RepositoryPackageDatas = new();
public static FrameworkPackageManagerWindow Instance;
public FrameworkPackageManagerWindow()
{
Instance = this;
}
public void RefreshPackageData(Action callBack)
{
@ -28,8 +33,7 @@ namespace AlicizaX.PackageManager.Editor
[MenuItem("Tools/AlicizaX/Package Manager")]
internal static void Open()
{
EditorWindow.GetWindow<FrameworkPackageManagerWindow>().Show();
GetWindow<FrameworkPackageManagerWindow>().Refresh();
GetWindow<FrameworkPackageManagerWindow>().Show();
}
private void CreateGUI()
@ -70,6 +74,8 @@ namespace AlicizaX.PackageManager.Editor
packageListView.itemsSource = RepositoryPackageDatas;
Refresh();
}
private void PackageListViewOnOnSelectionChangedEvent(IEnumerable<RepositoryPackageData> obj)

View File

@ -20,7 +20,8 @@ namespace AlicizaX.PackageManager.Editor
stateLabel = new Label();
stateLabel.name = "stateLabel";
stateLabel.text = "Last update Feb 19,13:52";
stateLabel.text = EditorPrefs.GetString("PackageUpdateDate", "");
stateLabel.style.alignSelf = Align.Center;
stateLabel.style.marginLeft = new Length(2, LengthUnit.Pixel);
stateLabel.style.flexGrow = 1; // 让 Label 占据剩余空间

View File

@ -154,7 +154,6 @@ namespace AlicizaX.PackageManager.Editor
_btnRemove.style.marginLeft = 0;
packageBtnContainer.Add(_btnInstall);
packageBtnContainer.Add(_btnUpdate);
packageBtnContainer.Add(_btnRemove);
@ -193,14 +192,17 @@ namespace AlicizaX.PackageManager.Editor
private void OnBtnUpdate()
{
PackageManagerCheckTool.UpdatePackage(_selectRepositoryPackageData.name);
}
private void OnBtnInstall()
{
PackageManagerCheckTool.InstallPackage(_selectRepositoryPackageData.cloneUrl);
}
private void OnBtnRemove()
{
PackageManagerCheckTool.UninstallPackage(_selectRepositoryPackageData.name);
}
}
}