前言
外观模式我认为就是在某一状态场景中,使用一个类,来统一管理所有的子系统。子系统做具体实现,如果外部需要使用,获取子系统,就通过这个类来调用获取。
具体实现思路
这个类在书上被称作是PBaseDefense ,被状态场景类(如战斗状态场景)使用,
而PBaseDefense类里包含所有子系统的对象引用,所有可以使用所有子系统的公有方法的
有这些子系统就要对这些对象引用初始化,new出空间来使用,为了确定这些子系统被那个对象使用,可以传入自己的对象,这样子类就有PBaseDefense类的对象了,就可以通过PBaseDefense对象来调用其他系统的公有方法(这个公有方法是通过PBaseDefense的公有方法调用)。
如: m_GameEventSystem = new GameEventSystem(this)
因为所有子系统都需要更新
所以要写一个Update方法,对所有的子系统的Update的方法同时进行调用
公有方法,供外界使用:一般来说,它的外界就是状态场景类,状态场景类需要的是Init,Update,Release(初始化,更新,结束释放)方法
还有供内部子类系统使用的公有方法
这里的公有方法根据需求来写,因为各个子系统的对象都包含在这里了。
如果要使用某个子系统的功能,我们便可以使用在这里写一个公有方法做调用。然后在子类也写一个公有方法
做具体实现
如: