Răsfoiți Sursa

新增ET包制作说明

tanghai 1 an în urmă
părinte
comite
3060020bc5
2 a modificat fișierele cu 38 adăugiri și 2 ștergeri
  1. 32 0
      Book/8.1ET Package制作指南.md
  2. 6 2
      README.md

+ 32 - 0
Book/8.1ET Package制作指南.md

@@ -0,0 +1,32 @@
+# ET Package规范
+1. ET Package是标准的Unity Package
+   
+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
+
+6. 注意ET包的目录永远在Packages目录下,使用者在安装好包后需要运行ET->MoveToPackages
+
+7. 包中特殊目录跟文件
+   a. Scripts 该目录放置Model Hotfix ModelView HotfixView代码,这些代码unity中可热更,这几个子目录下面的结构跟ET8.1完全一样,包含Server Client Share 分别表示在服务端 客户端 双端生效的代码
+   b. Runtime 该目录放置aot代码,里面都要定义asmdef,作为一个程序集使用,一般以ET.Core这种格式命名
+   c. Excel,该目录用来放置Excel表格,ExcelExporter工具会扫描这个目录,导出代码到cn.etetet.excel中去,导出配置放在ET/Config/Excel中,其中json格式放在ET/Config/Json中
+   d. Proto, 该目录放置消息定义,Proto2CS工具会扫描这个目录,生成代码在cn.etetet.proto包中
+   e. DotNet~ 该目录放置DotNet专用的工程跟代码,因为不能被Unity编辑器识别,所以用了~号
+   f. CodeMode 该目录类似Scripts目录,区别是Model Hotfix ModelView HotfixView目录下面是Server Client ClientServer,分别是不同CodeMode下使用的代码
+      Scripts中的Share代表双端都会使用的代码,而CodeMode目录下的ClientServer表示只有Unity编辑器使用ClientServer模式才会使用
+   g. Editor目录,表示这个包的Editor代码,一般命名是ET.Core.Editor这样命名
+   h. 其它目录例如Plugins Scenes等等并没有严格限制
+   i. 注意,每个Package在顶层放一个Ignore的asmdef,这样的好处是这个包的代码默认是不生效的,只有放了asmdef才生效
+   j. 每个包都放一个PackageConfig的ScriptObject,里面定义了包的Id跟包名,用来生成PackageType,这样可以保证不同的Package中的定义不冲突,参考SceneType
+
+8. 注意,假如package是一个完整的可运行的demo,需要包含DotNet~目录,里面放好Model跟Hotfix工程,需要将ET.sln工程复制到包中,这样方便使用者可以复制这个sln到根目录,双击使用  
+9. DotNet~目录中的csproj工程可以引用其它包的csproj,也可以引用nuget等,都没有限制

+ 6 - 2
README.md

@@ -30,6 +30,12 @@
 19. [Tank Clash: Blitz!](https://apps.apple.com/us/app/tank-clash-blitz/id6477913248)
 ---
 
+# ET9.0 develop (西施)  
+
+# [ET Packages](https://github.com/orgs/ET-Packages/repositories)  
+# [ET Package制作指南](./Book/8.1ET Package制作指南.md)  
+
+
 # ET8.1 发布!  
 8.1跟8区别不大,代码结构完全没有变化,主要是编译方式的修改,可以在Unity中按F6进行编译,也可以在IDE中进行编译,运行中reload可以先按F6编译,再按F7进行热重载   
 
@@ -82,8 +88,6 @@
 
 # [ET论坛](https://et-framework.cn)  
 
-# [ET商店](./Store)  
-
 # [ET视频教程](https://community.uwa4d.com/search?keyword=ET&scope=1)   
 
 # [运行指南](./Book/1.1运行指南.md)