tanghai 2 лет назад
Родитель
Сommit
9be6c708ef

+ 8 - 17
Book/1.1运行指南.md

@@ -1,17 +1,11 @@
 # 运行步骤  
 # 运行步骤  
-01. visual studio用户须知:
-   - 版本:
-      - Win10及以上用户,使用.net6, VS 版本,必须使用2022及以上。注意,VS 2019 不支持 .net6,不能使用。  
-   - 依赖:  
-     - 需要安装"使用Unity的游戏开发"扩展。  
-     - 需要在"工具-选项-适用于Unity的工具-常规"里,把杂项里的禁止完整生成项目改为False,否则导致你Codes目录里的代码报错。  
-   - 不提供vs技术支持,用vs的用户请自己研究,不要来问我,我自己也没用过  
-
-02. 使用Rider2023.1.3(更新到最新版), 需要安装以下内容:
+01. 不提供visual studio技术支持,用vs的用户请自己研究,不要来问我,我自己也没用过  
+
+02. 使用Rider2023.2(更新到最新版), 需要安装以下内容:
    - Rider的Unity插件  
    - Rider的Unity插件  
-   - 安装 .net6  
+   - 安装 .net7  
 
 
-03. master分支需要unity2021.16版(用到了C#11的语法
+03. master分支必须要unity2021.3.29版(其它版本跑出问题请不要来问我,我也没用过,等你会了再用其它版本)  
 
 
 04. 启动Unity, Edit->Preferences->External Tools External ScriptEditor选择VS或者Rider, Generate .csproj files for全部不要勾选,VS需要在"工具-选项-适用于Unity的工具-常规"里,把杂项里的禁止完整生成项目改为False,否则导致你Codes目录里的代码报错。  
 04. 启动Unity, Edit->Preferences->External Tools External ScriptEditor选择VS或者Rider, Generate .csproj files for全部不要勾选,VS需要在"工具-选项-适用于Unity的工具-常规"里,把杂项里的禁止完整生成项目改为False,否则导致你Codes目录里的代码报错。  
 
 
@@ -34,12 +28,9 @@
 2.用Rider,编译好Unity.AllHotfix  
 2.用Rider,编译好Unity.AllHotfix  
 3.点击HybridCLR->Generate->all  
 3.点击HybridCLR->Generate->all  
 4.点击HybridCLR->CopyAotDlls,这一步会把需要补充元数据的dll复制到Assets/Bundles/AotDlls目录  
 4.点击HybridCLR->CopyAotDlls,这一步会把需要补充元数据的dll复制到Assets/Bundles/AotDlls目录  
-5.点击打包  
-
-
-
-# 运行:
-
+5.打开yooasset菜单,点击assetsbundle builder,勾选copy buildin file option选择clear and copy all,点击构建  
+6.打开Unity菜单ET->BuildTool 点击BuildPackage  
+7.yooasset包管理库,请自己研究 https://www.yooasset.com/  
 
 
 # ENABLE_DLL模式  
 # ENABLE_DLL模式  
 1. 该模式用于逻辑全热更新,还有热重载, 默认就是使用该模式  
 1. 该模式用于逻辑全热更新,还有热重载, 默认就是使用该模式  

+ 1 - 5
Unity/Assets/Scripts/Editor/BuildEditor/BuildEditor.cs

@@ -27,8 +27,6 @@ namespace ET
 		private PlatformType activePlatform;
 		private PlatformType activePlatform;
 		private PlatformType platformType;
 		private PlatformType platformType;
 		private bool clearFolder;
 		private bool clearFolder;
-		private bool isBuildExe;
-		private bool isContainAB;
 		private BuildOptions buildOptions;
 		private BuildOptions buildOptions;
 		private BuildAssetBundleOptions buildAssetBundleOptions = BuildAssetBundleOptions.None;
 		private BuildAssetBundleOptions buildAssetBundleOptions = BuildAssetBundleOptions.None;
 
 
@@ -64,8 +62,6 @@ namespace ET
 		{
 		{
 			this.platformType = (PlatformType)EditorGUILayout.EnumPopup(platformType);
 			this.platformType = (PlatformType)EditorGUILayout.EnumPopup(platformType);
 			this.clearFolder = EditorGUILayout.Toggle("clean folder? ", clearFolder);
 			this.clearFolder = EditorGUILayout.Toggle("clean folder? ", clearFolder);
-			this.isBuildExe = EditorGUILayout.Toggle("build exe?", this.isBuildExe);
-			this.isContainAB = EditorGUILayout.Toggle("contain assetsbundle?", this.isContainAB);
 			BuildType codeOptimization = (BuildType)EditorGUILayout.EnumPopup("BuildType ", this.globalConfig.BuildType);
 			BuildType codeOptimization = (BuildType)EditorGUILayout.EnumPopup("BuildType ", this.globalConfig.BuildType);
 			
 			
 			if (codeOptimization != this.globalConfig.BuildType)
 			if (codeOptimization != this.globalConfig.BuildType)
@@ -112,7 +108,7 @@ namespace ET
 							break;
 							break;
 					}
 					}
 				}
 				}
-				BuildHelper.Build(this.platformType, this.buildAssetBundleOptions, this.buildOptions, this.isBuildExe, this.isContainAB, this.clearFolder);
+				BuildHelper.Build(this.platformType, this.buildAssetBundleOptions, this.buildOptions, this.clearFolder);
 			}
 			}
 			
 			
 			GUILayout.Label("");
 			GUILayout.Label("");

+ 8 - 27
Unity/Assets/Scripts/Editor/BuildEditor/BuildHelper.cs

@@ -92,7 +92,7 @@ namespace ET
             game?.ShowNotification(new GUIContent($"{tips}"));
             game?.ShowNotification(new GUIContent($"{tips}"));
         }
         }
 
 
-        public static void Build(PlatformType type, BuildAssetBundleOptions buildAssetBundleOptions, BuildOptions buildOptions, bool isBuildExe, bool isContainAB, bool clearFolder)
+        public static void Build(PlatformType type, BuildAssetBundleOptions buildAssetBundleOptions, BuildOptions buildOptions, bool clearFolder)
         {
         {
             BuildTarget buildTarget = BuildTarget.StandaloneWindows;
             BuildTarget buildTarget = BuildTarget.StandaloneWindows;
             string programName = "ET";
             string programName = "ET";
@@ -132,32 +132,13 @@ namespace ET
 
 
             UnityEngine.Debug.Log("finish build assetbundle");
             UnityEngine.Debug.Log("finish build assetbundle");
 
 
-            if (isContainAB)
-            {
-                FileHelper.CleanDirectory("Assets/StreamingAssets/");
-                FileHelper.CopyDirectory(fold, "Assets/StreamingAssets/");
-            }
-
-            if (isBuildExe)
-            {
-                AssetDatabase.Refresh();
-                string[] levels = {
-                    "Assets/Scenes/Init.unity",
-                };
-                UnityEngine.Debug.Log("start build exe");
-                BuildPipeline.BuildPlayer(levels, $"{relativeDirPrefix}/{exeName}", buildTarget, buildOptions);
-                UnityEngine.Debug.Log("finish build exe");
-            }
-            else
-            {
-                if (isContainAB && type == PlatformType.Windows)
-                {
-                    string targetPath = Path.Combine(relativeDirPrefix, $"{programName}_Data/StreamingAssets/");
-                    FileHelper.CleanDirectory(targetPath);
-                    Debug.Log($"src dir: {fold}    target: {targetPath}");
-                    FileHelper.CopyDirectory(fold, targetPath);
-                }
-            }
+            AssetDatabase.Refresh();
+            string[] levels = {
+                "Assets/Scenes/Init.unity",
+            };
+            UnityEngine.Debug.Log("start build exe");
+            BuildPipeline.BuildPlayer(levels, $"{relativeDirPrefix}/{exeName}", buildTarget, buildOptions);
+            UnityEngine.Debug.Log("finish build exe");
         }
         }
     }
     }
 }
 }