功能模块化

为了UI和功能解耦,所有的功能逻辑放在ProjectModule中。UI发送事件,ProjectModule响应事件完成对应逻辑。

BP_ProjectModuleBase

模块基类
路劲:/Content/YKTemplate/ProjectModuleCore/BP_ProjectModuleBase

参数说明:
    ModuleUI:该模块UI类
    UIGroup:UI类型--用于UISubSystemManager 创建UI
    Zorder:  UI层级
    ModuleInstance:UI实例
    Previous Module:从PreviousModule切换到该模块

模块事件:
    OnModuleEnter:当切换到该模块时,会调用该事件
    OnModuleExit:离开该模块时调用
    ChangeSubModule:切换该模块的子模块
    UIMessage:UI事件

UI_ProjectModuleBase

模块UI基类
路劲: /Content/YKTemplate/ProjectModuleCore/UI_ProjectModuleBase
实现接口:UIConctrol Interface,用于 UISubSystemManager 控制调用


Subsystem_ProjectModuleManager

模块管理类
路劲:/Content/YKTemplate/ProjectModuleCore/Subsystem_ProjectModuleManager

属性说明:
    CurModule:当前模块类型
    ModuleRegist:模块注册表
    CurModuleActor:当前模块实例Actor
    DefaultModule:默认模块类型
    CurSubModule:当前模块的子模块类型
    CurSubModuleActor:当前模块的子模块实例Actor
事件/函数说明:
    Run:启动事件,目前先放在BP_YK_GameModel的RestartPlayer事件中启动
    ChangeModule:切换模块
    ChangeSubModule:切换子模块

模板中内置模块:

主模块路劲:/content/ProjectModules/MainModule
主模块说明:
    BP_ProjectModule_Earth: 地球模块
    BP_ProjectModule_Home:  Home模块
    BP_ProjectModule_Lock:  锁屏模块
Home模块下子模块
    BP_ProjectModule_Area: 区域模块
    BP_ProjectModule_Indoor: 室内模块
    BP_ProjectModule_OutDoor: 室外模块
    BP_ProjectModule_Brand: 品牌模块
    BP_ProjectModule_UnitSelect: 选房模块