先提前说明,此架构是幼麟棋牌框架的作者 @麒麟子 大神教给笔者的,麒麟子大佬给了一套基于FGUI+Laya Air写的棋牌大厅界面子工程学习,奎斯花了一段时间从代码中学习并初步总结了出了分层游戏架构的基本模式,因为只是初步学习,还有一些其他模块奎斯暂时没有加(比如网络模块),下面奎斯分享出这套游戏架构(这里只介绍理论总结,不贴具体代码)。
一、分层架构基本模式:
先UI分层架构图:
在分层架构中,我们将UI拆分为game、hub、popup、notice、alert、mask六大层次:
GAME:主要用于放置玩家可见的游戏场景,比如游戏预加载场景、大厅场景等等
HUB:一般就是漂浮在场景之上的按钮 玩家信息栏之类的
POPUP:游戏弹出层 比如游戏结束界面等
NOTICE:一般就是锁屏提示 比如网络重连时候 提示 正在链接服务器。 或者加载界面的时候 提示一个loading
ALERT:是属于一种特殊的弹出层,弹出确认提示框之类的
MASK:遮罩一般与弹出层配合sh,比如出现一个提示框的时候,除了提示框部分其他部分就要变暗,有一种淡入淡出的效果。
而上面每一层层次在zOrder上都是逐渐由低到高,一般我们会把每层用枚举类型标识。
二、分层管理模式:
在分层架构中,采用一种Master-Scene-UI的管理方式。除了类似Alert这种比较通用的都放入Basic包体,一般我们会把每一个UI(包括GAME层)在FGUI中都做成一个单独的包体