tanghai преди 1 година
родител
ревизия
c8b45d318c
променени са 2 файла, в които са добавени 27 реда и са изтрити 29 реда
  1. 12 14
      Book/1.1运行指南.md
  2. 15 15
      Book/8.1ET Package制作指南.md

+ 12 - 14
Book/1.1运行指南.md

@@ -13,34 +13,32 @@
 
 5. 打开工程后,点击Unity菜单 -> Edit -> Preferences -> External Tools,点击下拉框'External ScriptEditor'选择Rider,Generate .csproj files for要勾选前两个  
 
-6. 在https://github.com/orgs/ET-Packages/repositories 中选择包安装,目前有两个demo, cn.etetet.lockstep跟cn.etetet.statesync分别是帧同步跟状态同步
+6. 在https://github.com/orgs/ET-Packages/packages 中选择包安装,目前有两个demo, cn.etetet.lockstep跟cn.etetet.statesync分别是帧同步跟状态同步
    
-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,会把所有的依赖包下载,如果没有出现日志git Dependencies are all installed,说明安装不完整,可以重新点击ET->RepairDependencies修复,直到安装成功
+7. 打开Unity的PackageManager,点击左上角加号,选择add package by name,输入包名,点击右边add,会把所有的依赖包下载,如果没有出现日志git Dependencies are all installed,说明安装不完整,可以重新点击ET->RepairDependencies修复,直到安装成功
     
-9. 从demo包中,Packages/cn.etetet.lockstep 或者 Packages/cn.etetet.statesync 复制ET.sln到Unity工程目录,因为每个demo的工程文件可能不同,所以需要复制一下
+8. 从demo包中,Packages/cn.etetet.lockstep 或者 Packages/cn.etetet.statesync 复制ET.sln到Unity工程目录,因为每个demo的工程文件可能不同,所以需要复制一下
 
-10. 用Rider打开ET.sln,**编译ET.Proto跟ET.Excel**工程,编译完成,运行Unity菜单 ET->ExcelExporter 跟 ET->Proto2CS 分别生成配置文件跟消息文件
+9.  用Rider打开ET.sln,**编译ET.Proto跟ET.Excel**工程,编译完成,运行Unity菜单 ET->ExcelExporter 跟 ET->Proto2CS 分别生成配置文件跟消息文件
     
-11. 生成完成后,运行ET->Packages Refresh,这一步是根据CodeMode是Client还是ClientServer,生成不同的AssemblyReference文件,关联到Model ModelView Hotfix HotfixView中
+10. 生成完成后,运行ET->Packages Refresh,这一步是根据CodeMode是Client还是ClientServer,生成不同的AssemblyReference文件,关联到Model ModelView Hotfix HotfixView中
     
-12. 再次打开Rider, 编译整个ET.sln, 注意要翻墙,否则可能nuget包下载不下来,导致编译出错(翻墙后如果还有报错解决不了可以尝试先用VS打开ET.sln编译一次后再回到Rider重新编译一次)
+11. 再次打开Rider, 编译整个ET.sln, 注意要翻墙,否则可能nuget包下载不下来,导致编译出错(翻墙后如果还有报错解决不了可以尝试先用VS打开ET.sln编译一次后再回到Rider重新编译一次)
     
-13. Unity中,打开Packages/ET.Init中的GlobalConfig,在SceneName中填上你下载的demo名字 LockStep或者StateSync
+12. Unity中,打开Packages/ET.Init中的GlobalConfig,在SceneName中填上你下载的demo名字 LockStep或者StateSync
 
-14. Unity中双击Packages/ET.Loader/Scenes/Init场景,点击Play(▶)即可运行
+13. Unity中双击Packages/ET.Loader/Scenes/Init场景,点击Play(▶)即可运行
 
-15. 帧同步默认是一个人匹配,如果需要多人匹配,修改**LSConstValue.cs**中的**MatchCount** 客户端服务端重启即可
+14. 帧同步默认是一个人匹配,如果需要多人匹配,修改**LSConstValue.cs**中的**MatchCount** 客户端服务端重启即可
 
-16.  注意要独立启动服务器,右键UnityHub,以管理员身份运行UnityHub,然后启动Unity(没有管理员启动是不行的,因为服务端要开启http服务,普通权限开不了),
+15.  注意要独立启动服务器,右键UnityHub,以管理员身份运行UnityHub,然后启动Unity(没有管理员启动是不行的,因为服务端要开启http服务,普通权限开不了),
    停止Unity Play,点开Unity菜单->ET->Server Tools->Start Server(Single Process),这样就单独启动了服务端。打开Unity菜单 -> ET -> BuildTool中CodeMode改成Client,点击Unity Play,登录。  
    如果还是连接不上报10037错误,注意看ET/Logs目录,看有没有Error日志。 如果要用rider启动服务器,rider也必须用管理员权限启动
    注意一定要用 netsh http delete urlacl 命令删除掉所有自己添加的urlacl,具体使用方法请谷歌
 
-17.  注意独立运行服务器的目录不再是Bin目录,而是Bin的上一层目录,也就是Unity目录,比如 dotnet.exe Bin/ET.App.dll --Console=1
+16.  注意独立运行服务器的目录不再是Bin目录,而是Bin的上一层目录,也就是Unity目录,比如 dotnet.exe Bin/ET.App.dll --Console=1
 
-18.  有问题请论坛提问,贴出服务端error log跟客户端error log,没有日志无法回复
+17.  有问题请论坛提问,贴出服务端error log跟客户端error log,没有日志无法回复
 
 # 打包过程
 1. 点击HybridCLR -> Installer,点击安装,等待安装完成

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

@@ -17,20 +17,20 @@
 6. 注意ET包的目录永远在Packages目录下,包安装完成后cn.etetet开头的包会自动移动到Packages目录
 
 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. 每个包都放一个packagegit.json文件,里面定义了包的Id跟包名以及git依赖,包的id是统一由熊猫分配
+   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. 每个包都放一个packagegit.json文件,里面定义了包的Id跟包名以及git依赖,包的id是统一由熊猫分配  
 
 8. 注意,假如package是一个完整的可运行的demo,需要包含DotNet~目录,里面放好Model跟Hotfix工程,需要将ET.sln工程复制到包中,这样方便使用者可以复制这个sln到根目录,双击使用  
-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四个程序集的引用中去
-11. 如果自己制作的包需要依赖其它git包,例如memorypack,那么可以在自己项目中的packagegit.json文件添加GitDependencies项,具体可以参考cn.etetet.core包
+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四个程序集的引用中去  
+11. 如果自己制作的包需要依赖其它git包,例如memorypack,那么可以在自己项目中的packagegit.json文件添加GitDependencies项,具体可以参考cn.etetet.core包