FPS游戏框架漫谈第十九天

今天我们来谈局内做个功能的框架流程:
我们这个功能就是传说中的吃鸡 游戏内的所谓的安全区域缩小这个功能:
第一步
首先是要解决数据存储问题 也就是我们这个所谓的安全区域到底多大,还有既然安全区域是动态的,会发生改变的,那么 这个 安全区域涉及2个方面数据 一个是静态数据 也就是策划配置安全区域多大 第二个是动态数据 我们这个数据是只有安全区域要发生改变的时候 后台才会下发新的安全区域大小给客户端

第二步:
既然我们知道了安全区域发生改变是后台下发通知 那么就涉及客户端需要定义协议事件枚举 然后就是针对后台通知数据解析

第三步
就是监听后台安全区域改变协议 我们把最新区域数值存在我们的GameInfo里面。
第四步
就是通知关注我们这个安全区域发生改变的订阅方 一般而言是我们游戏场景管理的HUD控制器比较关注
比如说我们有个叫SafeAreaHUD 这个东西他的出生一般在我们创建我们的GameUIScene的时候 就会根据当前的游戏配置预加载对应的预制体
第五步
我们的SafeAreaHUD 就会去监听后台下发的安全区域发生改变的通知,那么这个SafeAreaHUD 会提示玩家 安全区域要发生改变了 同时客户端就需要及时更新拿到后台下发的数值更新安全区域的大小

那么总结下 我们做的功能 涉及几个地方 第一个新增一个安全区域发生改变的协议枚举 第二个新增对应的GameUIScene,用来管理当前场景所有的UI相关的 一般采用mvc
第三个就是定义GameUIEvent 第五个就是定义对应场景的GameInfo 他用于保存来着后台的对局游戏数据 也就是安全区域发生改变的这个数值和状态
第六个有人会问题不需要新增一个GameEventChannelProccessor吗 ,这里暂时不用,因为一般这种完全有后台下发的动态对局数据 一般直接是采用属性异步同步的方式统一下发 一般这个功能其他同事早就监听了 我们直接是重置这个接受属性同步的方法 提取我们的枚举数值即可

你可能感兴趣的:(unity,FPS,游戏)