完美世界手游《圣斗士星矢》lua逻辑框架分析
2015-06-04 23:58
363 查看
1.文件结构
framework 框架相关的文件(gamedatamgr网络数据管理器,msgmgr消息管理器)
luabean 所有的配置文件的读取(将文件内容转为内存数据结构)
luaprotocolhandler 所有网络协议的处理函数(导出process函数)
manager 几个管理器(beanconfigmanager获取配置,luaprotocolmanager注册消息处理、回调处理函数、发送消息)
protocoldef 包括所有网络协议的结构定义(C开头表示客户端的结构,S开头表示服务端发的结构)
ui 包含所有的界面逻辑,界面都从Dialog继承,Dialog里实现了ui相关的基本逻辑
2.简单的包图
基本的架构从上图应该能看差不多吧。Model层主要是beanconfigmanager管理的luabean目录、protocoldef目录里的消息结构、gamedatamgr网络数据。客户端收到网络数据后,会将数据存到gamedatamgr里,或者直接存到对应的ui里,并调用界面的接口进行刷新。
这里ui其实也应该算控制层,因为View视图相关的功能都在Dialog里以及C++里封装好了,ui界面里主要是继承Dialog,对界面的一些事件进行订阅(比如按钮按下的消息),实现一些简单的界面逻辑以及控制的逻辑。
framework 框架相关的文件(gamedatamgr网络数据管理器,msgmgr消息管理器)
luabean 所有的配置文件的读取(将文件内容转为内存数据结构)
luaprotocolhandler 所有网络协议的处理函数(导出process函数)
manager 几个管理器(beanconfigmanager获取配置,luaprotocolmanager注册消息处理、回调处理函数、发送消息)
protocoldef 包括所有网络协议的结构定义(C开头表示客户端的结构,S开头表示服务端发的结构)
ui 包含所有的界面逻辑,界面都从Dialog继承,Dialog里实现了ui相关的基本逻辑
2.简单的包图
基本的架构从上图应该能看差不多吧。Model层主要是beanconfigmanager管理的luabean目录、protocoldef目录里的消息结构、gamedatamgr网络数据。客户端收到网络数据后,会将数据存到gamedatamgr里,或者直接存到对应的ui里,并调用界面的接口进行刷新。
这里ui其实也应该算控制层,因为View视图相关的功能都在Dialog里以及C++里封装好了,ui界面里主要是继承Dialog,对界面的一些事件进行订阅(比如按钮按下的消息),实现一些简单的界面逻辑以及控制的逻辑。
相关文章推荐
- luabind 和设置1字节对齐导致服务器挂掉
- Lua中的捕获
- lua string库
- Lua5.2 请求 luasocket 相关模块时的 multiple-lua-vms-detected
- Lua调用自定义C++类(包括智能提示)
- lua闭包
- lua如何截取中英文混合字符串
- Lua 入门学习笔记
- 用protoc-gen-lua生成PB的lua代码
- 在lua环境中使用protobuf
- lua 命令行方式
- Lua5.1中数学库
- 判断字符串中是否包含中文
- lua递归函数的编写,为了解决一个游戏当中遇到的复杂问题
- 鉴别一串字符串中只包含数字
- lua实现查找一个字符串中的某些字符
- lua实现一个小数取整数部分
- lua math库
- Evaluate Reverse Polish Notation
- Mac 使用 ZeroBrane Studio 开发lua