CustomModule自定义模块简介
框架内置了多个常用的模块,如果想要添加自己的模块,通过CustomModule添加自定义模块即可,自定义模块拥有与内置模块完全一样的生命周期。
使用CustomModule
新建自定义模块
自定义模块类,必须满足以下条件:
1.继承至CustomModuleBase
2.标记特性CustomModule
推荐使用快捷创建方式:
Project界面右键 -> Create -> HTFramework -> C# CustomModule Script
如下,我新建了一个名为MonsterController的自定义模块:
/// <summary>
/// 新建自定义模块
/// </summary>
[CustomModule("怪物管理器", true)]
public class MonsterController : CustomModuleBase
{
/// <summary>
/// 初始化模块
/// </summary>
public override void OnInitialization()
{
base.OnInitialization();
Debug.Log("怪物管理器 完成初始化工作!");
}
/// <summary>
/// 模块准备工作
/// </summary>
public override void OnPreparatory()
{
base.OnPreparatory();
Debug.Log("怪物管理器 完成准备工作!");
}
/// <summary>
/// 刷新模块
/// </summary>
public override void OnRefresh()
{
base.OnRefresh();
Debug.Log("怪物管理器 开始工作!");
}
/// <summary>
/// 终结模块
/// </summary>
public override void OnTermination()
{
base.OnTermination();
}
/// <summary>
/// 暂停模块
/// </summary>
public override void OnPause()
{
base.OnPause();
}
/// <summary>
/// 恢复模块
/// </summary>
public override void OnUnPause()
{
base.OnUnPause();
}
}
CustomModule标记的第一个参数为自定义模块的名称,如果出现多个自定义模块名称重复的情况,则重复的模块不会被启用;第二个参数为是否启用此自定义模块。
执行模块生命周期
创建自定义模块完成并启用该模块后,我们直接运行主场景,该自定义模块便会自动加入到框架生命周期。
终止模块生命周期
框架内置模块是不允许提前终止生命周期的,他们只能跟随程序的退出而结束生命周期,而自定义模块则可以提前终止生命周期,你可以在任何时候终止一个自定义模块,不过终止之后将无法再启动:
//终止名为【怪物管理器】的自定义模块
Main.m_CustomModule.TerminationModule("怪物管理器");
外部访问模块
通过如下方式外部访问自定义模块:
Main.m_CustomModule["怪物管理器"].Cast<MonsterController>().GenerateMonster();
运行时检视面板
在编辑器中运行时将会出现运行时检视面板(Runtime Data),主要用以调试或数据监测,目前面板如下:
1.CustomModules:显示当前启用的所有自定义模块。