Sfoglia il codice sorgente

更新了ET Package制作指南

tanghai 1 anno fa
parent
commit
5cf32a0554
1 ha cambiato i file con 15 aggiunte e 13 eliminazioni
  1. 15 13
      Book/8.1ET Package制作指南.md

+ 15 - 13
Book/8.1ET Package制作指南.md

@@ -3,17 +3,18 @@
    
 2. ET Package包目录的格式是cn.etetet.+包名,例如cn.etetet.core
    
-3. ET Package只支持git依赖安装,由于Unity并未支持git依赖,所以ET对此进行了扩展,扩展代码在cn.etetet.init中
-   
-4. git扩展原理是在每个包的package.json中添加了一个字段gitDependencies用来表示这个包依赖哪些git包
-   
-5. git 地址的格式有几种形式,都是unity支持的git url:
-   例如:           https://github.com/ET-Packages/cn.etetet.core.git  
-   或者带上tag      https://github.com/ET-Packages/cn.etetet.core.git#0.0.1 
-   或者带上分支      https://github.com/ET-Packages/cn.etetet.core.git#develop
-   甚至同时带上path  https://github.com/ET-Packages/cn.etetet.core.git?path=Packages/cn.etetet.core#develop
+3. ET Package 本质上是npm包,ET使用github package功能来实现托管ET Packages,注意在package.json中添加
+   ```
+   "publishConfig": 
+   { 
+      "registry": "https://npm.pkg.github.com/@ET-Packages" 
+   }  
+   ```
+4. 在你们包的根目录加上.github/workflows/release-package.yml 这个文件可以从 https://github.com/ET-Packages/cn.etetet.yiui/tree/master/.github/workflows 复制过去,这是一个github action文件
+
+5. 包的制作者在你们github仓库中,点开Actions,点击ET Package这个Action,然后点击右侧的Run workflow即可制作成package
 
-6. 注意ET包的目录永远在Packages目录下,使用者在安装好包后需要运行ET->MoveToPackages
+6. 注意ET包的目录永远在Packages目录下,包安装完成后cn.etetet开头的包会自动移动到Packages目录
 
 7. 包中特殊目录跟文件
    a. Scripts 该目录放置Model Hotfix ModelView HotfixView代码,这些代码unity中可热更,这几个子目录下面的结构跟ET8.1完全一样,包含Server Client Share 分别表示在服务端 客户端 双端生效的代码
@@ -26,9 +27,10 @@
    g. Editor目录,表示这个包的Editor代码,一般命名是ET.Core.Editor这样命名
    h. 其它目录例如Plugins Scenes等等并没有严格限制
    i. 注意,每个Package在顶层放一个Ignore的asmdef,这样的好处是这个包的代码默认是不生效的,只有放了asmdef才生效
-   j. 每个包都放一个PackageConfig的ScriptObject,里面定义了包的Id跟包名,用来生成PackageType,这样可以保证不同的Package中的定义不冲突,参考SceneType
+   j. 每个包都放一个packagegit.json文件,里面定义了包的Id跟包名以及git依赖,包的id是统一由熊猫分配
 
 8. 注意,假如package是一个完整的可运行的demo,需要包含DotNet~目录,里面放好Model跟Hotfix工程,需要将ET.sln工程复制到包中,这样方便使用者可以复制这个sln到根目录,双击使用  
-9. DotNet~目录中的csproj工程可以引用其它包的csproj,也可以引用nuget等,都没有限制
+9.  DotNet~目录中的csproj工程可以引用其它包的csproj,也可以引用nuget等,都没有限制
 10. Model ModelView Hotfix HotfixView中的引用怎么配置?因为每个包都可能有这四个目录,每个包的4个目录引用的程序集都可能不一样,ET提供了一种方法,在这四个目录下放置一个asmdef.txt,写好这个目录要引用哪些程序集
-    因为最终这些目录会合并到demo的4个程序集中去,我们可以运行ET->Update Model Hotfix Assembly Define来将所有的引用最终设置到demo的Model ModelView Hotfix HotfixView四个程序集的引用中去
+    因为最终这些目录会合并到demo的4个程序集中去,我们可以运行ET->Update Model Hotfix Assembly Define来将所有的引用最终设置到demo的Model ModelView Hotfix HotfixView四个程序集的引用中去
+11. 如果自己制作的包需要依赖其它git包,例如memorypack,那么可以在自己项目中的packagegit.json文件添加GitDependencies项,具体可以参考cn.etetet.core包