描述:本模块为一个游戏开发ui管理框架,主要设计UI配置,加载,创建,打开,跳转等。
整个管理器的核心,为一个单例,主要协调UI的创建,打开关闭等逻辑。
初始化管理器,设置uiRoot,根据传入的uiconfig列表,转换为字典,方便后续的读取。如果不是第一次init,则需要清空之前的脏数据。
寓意为打开一个新的界面,如果当前做界面A,Open界面B的时候,会自动关闭A。如果打开了一个堆栈里有的界面,则此界面后的堆栈信息清空。防止出现循环跳转,关闭的时候两个界面一直跳来跳去的。游戏里每次只打开一个界面。
寓意为从当前界面跳转到一个新界面,例如当前做界面A,如果此时执行jump 到B,则A关闭,B打开。B关闭的时候,会自动打开A。用堆栈信息维持逻辑层的开关顺序。如果打开的界面中堆栈里,则清楚此堆栈后面的信息。游戏里每次只打开一个界面。
弹出一个界面,此界面不参与任何跳转类,全靠手动开与关。一般用于弹窗,loading,提示等。没有数量限定。
关闭弹窗。
开启loadingWindow
关闭loading
清除之前的逻辑堆栈信息。
进行垃圾回收,根据配置文件,把配置里不销毁之外的界面全部销毁,为游戏腾出空间。
界面基础类,提供初始化,开关回掉。做界面的时候继承此类,重写对应的方法即可。
初始化。
显示界面。
关闭界面。
初始化完成后执行的方法,子类可以重写,来做界面初始化用,生命周期里只执行一次。
界面开启完成后执行的方法,虚方法,可重写。每次打开界面都会调到。
界面关闭时候调用此方法,虚方法,可重写。每次关闭界面一定掉调用。