在 C++ 组件中添加一个守护进程来防止 Blueprint 卸载组件。 代码示例:
class CppComponent : public UActorComponent
{
public:
CppComponent()
{
// 添加守护进程
GetWorld()->GetTimerManager().SetTimer(DaemonTimerHandle, this, &CppComponent::CheckDaemon, 60.f, true);
}
// 守护进程函数,每隔一段时间检查是否需要重新加载组件
void CheckDaemon()
{
if (/* 检查是否需要重新加载组件 */)
{
GetOwner()->ReregisterComponent(this);
}
}
private:
FTimerHandle DaemonTimerHandle;
};