本篇内容介绍了“Unity开发中介者模式介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一个游戏中可能包含众多子系统
事件系统
关卡系统
角色管理系统
成就系统
游戏状态界面
角色信息界面
暂停界面
子系统之间的交互如果没有规划好会出现交错引用的情况
而中介者模式在游戏开发中可以用来解除内部子系统之间的耦合
中介者模式(Mediator)在GoF中是这样说明的:
定义了一个接口用来封装一群对象的互动行为,中介者通过移除对象之间的引用,来减少它们之间的耦合度,并且能改变它们之间的互动独立性。
以房屋买卖的方式来说明中介者模式,可以这样解释:
中介公司是一个信息中心(对应中介者),所有买家和卖家(所有子系统)都通过中介公司来处理房屋的买卖。
在游戏开发中我们是这样实现中介者模式的
首先游戏会有两大系统类:“游戏系统类”、“界面类”
我们定义好这两种抽象类,并定义一些生命周期有关方法,然后在构造方法中传入中介者的实例。当每创建一个新的系统类时,都要继承其中一个抽象类。这样每个系统都会持有一个的中介者。我们在做子系统功能的时候,就不需要关心这个功能会跟哪个系统产生关联,只需要通过中介者的实例,通知中介者当前子系统想完成什么功能就可以了,剩下的交给中介者去处理子系统之间的引用逻辑。当然,所有子系统的构造都在中介者中完成,中介者拥有所有子系统的访问权限。
优点
通过这样的操作,我们便解除了子系统之间的耦合,并且所有子系统对外部的依赖缩小到了一个类。
缺点
需要注意的是,由于中介类担任了所有游戏系统和UI界面之间的信息交换和沟通,很容易出现操作接口过于爆炸的情况,所以我们还需要配合其他设计模式来避免这种情况的发生,用来减轻中介类的负担。
“Unity开发中介者模式介绍”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。