XuToWei 这样是可以搞Client Server模式。Unity最新的编辑器接口编译dll是啥呢?老的不支持MemoryPack
egametang PlayerBuildInterface.CompilePlayerScripts 这个,HybridCLR也是用的这个api,会全量编译所有的dll,编译速度也很快,目前我用的库中还没遇到MemoryPack的问题,sg也能正常工作
XuToWei 可以,我建了个develop2分支,你先pr到分支,我看看,如果没啥问题,我再合到develop中
egametang 好的 没问题
XuToWei 刚看了develop2分支提交的新的工作流,看起来是个非常有意思的事情。
有些疑问请教一下:
谢谢~
XuToWei 先Mark,然后再好好研究下,我现在也是用的ET8,然后想用Unity编辑器来编译带有版本号的DLL用于热更新(因为HybridCLR同名的DLL是不可以重复加载的),用ET7的Unity编辑来编译发现个BUG就是不会编译ET8自动生成的那些代码
Mark
asksim 大概看了下:
asksim EnableDll的意义就是可以在编辑器下跑Assembly.Load的方式,测试dll方式加载时避免真机打包的耗时,并且这个模式是支持Reload的
搞好了弄个ET7.3吧
asksim 第四点中UNITY_COMPILE是手动编译接口中会带入的宏,这样就能手动编译接口能识别并编译出dll,然后拷贝到Unity中,UNITY_EDITOR是为了保证在编辑器下开发中能够被ide正常识别到代码进行开发,两者保证了打包时候不会被Unity自身带入又能手动编译出dll
XuToWei 非常感谢!我已经将这些调整合并到我的项目中。
补充一下优点,可以删除ET.sln中的Unity部分,这样导入Unity一些插件后不用同步添加到ET.sln中,'Unity菜单 -> Edit -> Preferences -> External Tools -> Generate .csproj files for’的设置也不用关心了
修正:ET不存在这个问题
XuToWei 意思是直接用unity里面的open c# project 也能直接进行客户端开发?
asksim 是的,我自己项目引入的包太多了 每次都修改ET.sln有点麻烦 我个人是删掉这里了
牛X,我的也是客户端和服务端分离的。说实话,不用open c# project这种方式打开,总觉得开发客户端会比较麻烦。