功能模块化
<p>为了UI和功能解耦,所有的功能逻辑放在ProjectModule中。UI发送事件,ProjectModule响应事件完成对应逻辑。</p>
<h3>BP_ProjectModuleBase</h3>
<pre><code>模块基类
路劲:/Content/YKTemplate/ProjectModuleCore/BP_ProjectModuleBase</code></pre>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/eea862b6ab0024f1d497d53bd29412f3" alt="" /></p>
<pre><code>参数说明:
ModuleUI:该模块UI类
UIGroup:UI类型--用于UISubSystemManager 创建UI
Zorder: UI层级
ModuleInstance:UI实例
Previous Module:从PreviousModule切换到该模块</code></pre>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/f7bbd95cc4717cdc4b5ff10300ac4af4" alt="" /></p>
<pre><code>模块事件:
OnModuleEnter:当切换到该模块时,会调用该事件
OnModuleExit:离开该模块时调用
ChangeSubModule:切换该模块的子模块
UIMessage:UI事件</code></pre>
<h3>UI_ProjectModuleBase</h3>
<pre><code>模块UI基类
路劲: /Content/YKTemplate/ProjectModuleCore/UI_ProjectModuleBase
实现接口:UIConctrol Interface,用于 UISubSystemManager 控制调用</code></pre>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/6c1b0bcf4763b5bb9ac1fc0234f6c25e" alt="" />
<img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/034a80fab597ab84f20691fb9fa01009" alt="" /></p>
<h3>Subsystem_ProjectModuleManager</h3>
<pre><code>模块管理类
路劲:/Content/YKTemplate/ProjectModuleCore/Subsystem_ProjectModuleManager</code></pre>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/2a0b7c04ca972a0ef8e5e403bc9216f0" alt="" /></p>
<pre><code>属性说明:
CurModule:当前模块类型
ModuleRegist:模块注册表
CurModuleActor:当前模块实例Actor
DefaultModule:默认模块类型
CurSubModule:当前模块的子模块类型
CurSubModuleActor:当前模块的子模块实例Actor
事件/函数说明:
Run:启动事件,目前先放在BP_YK_GameModel的RestartPlayer事件中启动
ChangeModule:切换模块
ChangeSubModule:切换子模块</code></pre>
<h2>模板中内置模块:</h2>
<pre><code>主模块路劲:/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: 选房模块</code></pre>