前言:这部分主要讲的是大地图中的一些业务框架设计,和实现上的一些经验。
开发软件:Unity2019.4
正文:
先分析一下大地图上拥有的元素:地表、边界线(区域)、军队、行军线、网格物体、景观物体、天气、特效等
再分析下大地图框架上需要顾及的点,解耦且可高度扩展的网格物体,以及AOI(区域下发,这部分其实主要是后端负责,这边就简单介绍和前端需要配合的点)
1、基础的业务框架结构
其实这里也是使用类似mvc的思路。网格管理器(TileManager)主要负责接收服务端下发的数据,并处理后生成对应的网格类。每个网格有逻辑(Logic)和视图(View)类同时也继承网格的控制基类和视图基类。
大概流程:服务器端下发某区域内的网格信息-->信息经网格管理器接收且处理,判断生成的网格类型以及传递一些基础的参数后-->调用网格自身的创建方法(Init、Creat),通过网格自身的接口逻辑生成。
分析:这要设计的好处是所有网格有统一管理,同时由于创建方法在每个网格类中,这样尽量减少了网格管理器中的业务逻辑。继承基类也能尽可能减少代码重复和提升开发效率,同时这种mvc的思路也基本和UI业务逻辑一致,更有利于其他开发人员的阅读与上手。