副本系统摘要
副本系统是一个独立出来的业务逻辑,我们需要新建一个FubenSys
大体上FubenSys
和MainCitySys
的设计是差不多的,需要管理自己的UI Window,需要实现一些副本业务核心逻辑。
在设计上,MainCityWnd
只能调用MainCitySys
提供的API,如果想用MainCityWnd
打开副本选择界面,只能先使用MainCitySys
调用FubenSys
再打开副本选择界面,这也是设计规范的体现。
副本的PlayerData
副本的PalyerData
只用一个int定义即可
1 | public int fuben;//记录当前打到哪一关 |
然后根据这个PalyerData
修改DBMgr
即可
初始化的值
1 | fuben = 10001 |
副本的界面
我们通过对副本号取余来刷新副本界面
1 | public void RefreshUI() |
副本的通信协议
1 |
|
新增错误码LackPower
副本的配置
在客户端中,我们将副本的配置写在MapCfg
中,在其中增加每个Map需要消耗的体力就可以了,只需要稍微修改一下配置的xml即可。
如果需要更新配置的xml,可以打开之前配置相关的Excel,在“开发工具”——“源”中删除老的映射,并将新的“xml_format”导入进来,重新映射成功后再导入老的xml,Excel会自动将老的数据重新映射上去,将新的映射填上再导出一次即可
这个体力就是为了每次进入副本之前,校验一下体力是否充足
在服务端中,只需要记录每个副本地图所消耗的体力数据即可:
1 | public class MapCfg : BaseData<MapCfg> |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ATAO2017,阿宅创造奇迹!!