为什么ET 7.2不把Server代码和Client代码直接分成两个文件夹?
- 已编辑
有的Client里的Server里面也要用到。不过7.2和8.0的目录规划,对我来说没啥用。我自己也调整过目录了。
其实不光是share,主要是Model下面的,Robto这些也要用到这部分。
- 已编辑
再好好研究下吧,这些方案我都考虑过了。首先开发是用的Ide开发,不是按照目录来开发,既然是ide,那么你最终还是要把客户端跟服务端目录整合到model hotfix中一起来,那还有啥区别?其次,share的代码跟client server独立,你会发现share根本不好管理,想把一个类放到同级的share中,结果发现要跨越很大。
egametang 多谢大佬的回复,这里我有几个疑问:
1.为什么说IDE开发需要将Server和Client整合到model和Hofix中,Server和Client分别拥有自己的model和Hofix不行吗。
2.如果说为了Share代码,需要将Server和Client直接整合到一起。那有没有办法在IDE层面,也就是Rider中通过引用的方式将Server和Client的代码分开(我自己没有找到合适的方法)。
我理解为了代码复用,才将Server和Client整合到一起。但这个思考负担是客观存在的,希望大佬可以帮忙想一个合适的解决方案,IDE层面或者调整目录都行,现在Client和Server的代码太分散,双端代码中重名的文件夹太多,需要时刻注意当前的开发目录,开发效率实在是太低了。
- 已编辑
按照我的理解,如果客户端不考虑开发过程中的热重载的话,可以把Hotfix/HotfixView和Model/HotfixModel全部合并了。
开发过程中,也不用分这些dll了。发真机版的时候全部合并成一个Hotfix.dll也没啥问题吧?至少对于我来说,还是会减少不必要的开发压力(主要还是要把system写到另外一个地方,有点尬,找来找去太费事)。
至于服务端,如果考虑热修复的话,可以保持现有的 Hotfix/Model的方式,不过说实话,这种热修复也仅限于修修逻辑。如果Model改了,也没戏。还不如考虑更好的方案来处理修复的问题。比分说多准备一个服务,把有问题的服务下线,把玩家切到新服务里去?
zero 这有啥难的,你另外建个工程叫做Server.sln里面建几个工程引用server的代码目录不就行了,client.sln引用客户端代码目录
asksim 分开是为了逻辑跟表现分离,数据跟方法分离,有利于重构协作。你一个人随便怎么搞都行