tanghai 1 год назад
Родитель
Сommit
6a21860340

+ 1 - 1
Book/1.1运行指南.md

@@ -17,7 +17,7 @@
    
 7. 复制demo包的git地址,例如https://github.com/ET-Packages/cn.etetet.lockstep.git#0.0.1  其中#0.0.1代表版本号,可以选择不同的版本,版本号是库的tag
    
-8. 打开Unity的PackageManager,点击左上角加号,选择add package from git url,粘贴进去,点击右边add,会把所有的依赖包下载,中间会弹出要安装依赖包,请点击Install,注意demo的git url也要带版本号
+8. 打开Unity的PackageManager,点击左上角加号,选择add package from git url,粘贴进去,点击右边add,会把所有的依赖包下载,如果没有出现日志git Dependencies are all installed,说明安装不完整,可以重新点击ET->RepairDependencies修复,直到安装成功
     
 9. 从demo包中,Packages/cn.etetet.lockstep 或者 Packages/cn.etetet.statesync 复制ET.sln到Unity工程目录,因为每个demo的工程文件可能不同,所以需要复制一下
 

+ 8 - 10
Packages/cn.etetet.init/Editor/GitDependencyResolver/DependencyResolver.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.IO;
 using System.Linq;
 using ET;
@@ -7,10 +8,9 @@ using MongoDB.Bson.Serialization;
 using MongoDB.Bson.Serialization.Attributes;
 using UnityEditor;
 using UnityEditor.PackageManager;
-using UnityEngine;
-
 using PackageInfo = UnityEditor.PackageManager.PackageInfo;
 using UnityEditor.PackageManager.Requests;
+using Debug = UnityEngine.Debug;
 
 namespace Hibzz.DependencyResolver
 {
@@ -23,14 +23,15 @@ namespace Hibzz.DependencyResolver
     [InitializeOnLoad]
     public class DependencyResolver
     {
-        [MenuItem("ET/MoveToPackages")]
         static void MoveToPackage()
         {
 #if UNITY_EDITOR_WIN
-            ProcessHelper.Run("powershell.exe", $"-NoExit -ExecutionPolicy Bypass -File \"Scripts/MoveToPackages.ps1\"", waitExit: true);
+            Process process = ProcessHelper.Run("powershell.exe", $"-NoExit -ExecutionPolicy Bypass -File \"Scripts/MoveToPackages.ps1\"", waitExit: true);
 #else
-            ProcessHelper.Run("pwsh", $"-NoExit -ExecutionPolicy Bypass -File \"Scripts/MoveToPackages.ps1\"", waitExit: true);
+            Process process = ProcessHelper.Run("pwsh", $"-NoExit -ExecutionPolicy Bypass -File \"Scripts/MoveToPackages.ps1\"", waitExit: true);
 #endif
+            Debug.Log(process.StandardOutput.ReadToEnd());
+            AssetDatabase.Refresh();
         }
         
         static AddAndRemoveRequest packageInstallationRequest;
@@ -73,9 +74,6 @@ namespace Hibzz.DependencyResolver
                 }
             }
 
-            MoveToPackage();
-            AssetDatabase.Refresh();
-
             // Install the dependencies
             InstallDependencies(dependencies);
         }
@@ -147,6 +145,8 @@ namespace Hibzz.DependencyResolver
             if (dependencies.Count == 0)
             {
                 MoveToPackage();
+                
+                Debug.Log($"git Dependencies are all installed");
                 return;
             }
             
@@ -183,9 +183,7 @@ namespace Hibzz.DependencyResolver
         [MenuItem("ET/RepairDependencies")]
         static void RepairDependencies()
         {
-            AssetDatabase.Refresh();
             MoveToPackage();
-            AssetDatabase.Refresh();
             
             Dictionary<string, string> dependencies = new();
             List<PackageInfo> installedPackages = PackageInfo.GetAllRegisteredPackages().ToList();