F8 Module
April 19, 2026 · View on GitHub
简介(希望自己点击F8,就能开始制作游戏,不想多余的事)
Unity F8 Module模块中心组件。提供三种模块可使用。
- 游戏模块 Module / ModuleMono,延时加载,可控顺序,控制所有模块的,获取/初始化/轮询/销毁。
- 静态模块 StaticModule ,使用时一同初始化,无顺序,提供 OnEnterGame / OnQuitGame 方法。
- 活动模块 ActivityModule,使用时一同初始化,无顺序,提供静态模块的方法外,还有刷新状态/状态变化/是否解锁/是否可见/是否开启/添加条件等方法。
导入插件(需要首先导入核心)
注意!内置在->F8Framework核心:https://github.com/TippingGame/F8Framework.git
方式一:直接下载文件,放入Unity
方式二:Unity->点击菜单栏->Window->Package Manager->点击+号->Add Package from git URL->输入:https://github.com/TippingGame/F8Framework.git
视频教程:【Unity框架】(3)模块管理
创建模板
- 右键资源文件夹,看到(F8模块中心功能),创建模板 Module / ModuleMono / StaticModule / ActivityModule

代码使用方法
/*----------------------------模块中心功能----------------------------*/
// 初始化模块中心
ModuleCenter.Initialize(this);
// 创建模块,(参数可选,优先级越小越早轮询)
int priority = 100;
ModuleCenter.CreateModule<TimerManager>(priority);
// 通过ModuleCenter调用模块方法
ModuleCenter.GetModule<TimerManager>().GetServerTime();
// 通过获取实例调用模块方法
TimerManager.Instance.GetServerTime();
// 继承ModuleSingletonMono创建模块,按需添加Update特性
[UpdateRefresh]
[LateUpdateRefresh]
[FixedUpdateRefresh]
public class DemoModuleCenterClass : ModuleSingleton<DemoModuleCenterClass>, IModule
{
public void OnInit(object createParam)
{
// 模块创建初始化
}
public void OnUpdate()
{
// 模块Update
}
public void OnLateUpdate()
{
// 模块LateUpdate
}
public void OnFixedUpdate()
{
// 模块FixedUpdate
}
public void OnTermination()
{
// 模块销毁
Destroy(gameObject);
}
}
/*----------------------------自定义静态模块功能----------------------------*/
// 获取所有静态模块,并调用进入游戏
StaticModule.EnterGameAllModules();
// 获取指定静态模块
StaticModule demo = StaticModule.GetStaticModuleByType(typeof(StaticModuleClass));
// 使用静态模块
StaticModuleClass.Instance.OnEnterGame();
// 继承StaticModule的自定义模块
public class StaticModuleClass : StaticModule
{
public static StaticModuleClass Instance => GetInstance<StaticModuleClass>();
protected override void Init()
{
// 初始化StaticModule
}
public override void OnEnterGame()
{
// 进入游戏
}
public override void OnQuitGame()
{
// 退出游戏
}
}
/*----------------------------自定义活动模块功能----------------------------*/
// 控制所有活动模块的API
ActivityModule.EnterGameAllModules();
ActivityModule.RefreshAllModules();
ActivityModule.QuitGameAllModules();
ActivityModule.ReleaseAllModules();
public class ActivityModuleClass : ActivityModule
{
public static ActivityModuleClass Instance => GetInstance<ActivityModuleClass>();
// 初始化活动模块
protected override void Init()
{
}
// 进入游戏
public override void OnEnterGame()
{
}
// 退出游戏
public override void OnQuitGame()
{
}
// 模块释放
protected override void OnDispose()
{
}
// 状态变化
protected override void OnStateChanged(ActivityModuleState previousState, ActivityModuleState currentState)
{
}
// 解锁状态变化
protected override void OnUnlockStateChanged(bool previousValue, bool currentValue)
{
}
// 显示状态变化
protected override void OnVisibleStateChanged(bool previousValue, bool currentValue)
{
}
// 开启状态变化
protected override void OnOpenStateChanged(bool previousValue, bool currentValue)
{
}
// 解锁条件(需自定义条件)
protected override bool EvaluateUnlockedCore()
{
return false;
}
// 显示条件(需自定义条件)
protected override bool EvaluateVisibleCore(bool isUnlocked)
{
return false;
}
// 开启条件(需自定义条件)
protected override bool EvaluateOpenCore(bool isUnlocked)
{
return false;
}
}