tanghai 1 год назад
Родитель
Сommit
e6975a2140
1 измененных файлов с 21 добавлено и 7 удалено
  1. 21 7
      Book/1.1运行指南.md

+ 21 - 7
Book/1.1运行指南.md

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