Files
UnrealEngine/Engine/Plugins/Experimental/EvaluationNotifies/Source/Runtime/Private/EvaluationNotifiesRuntimeModule.cpp
2025-05-18 13:04:45 +08:00

56 lines
1.8 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "EvaluationNotifiesRuntimeModule.h"
#include "Animation/AnimRootMotionProvider.h"
#include "AnimNext/EvaluationNotifiesTrait.h"
#include "Features/IModularFeatures.h"
#include "Modules/ModuleManager.h"
#include "AnimNext/AnimNextAlignment.h"
#include "EvaluationNotifies/AnimNotifyState_Alignment.h"
#include "EvaluationNotifies/AnimNotifyState_TwoBoneIK.h"
class FEvaluationNotifiesRuntimeModule : public IEvaluationNotifiesRuntimeModule
{
};
namespace UE
{
namespace EvaluationNotifies
{
class FModule : public IModuleInterface
{
public:
FModule();
virtual void StartupModule() override;
virtual void ShutdownModule() override;
};
FModule::FModule()
{
}
void FModule::StartupModule()
{
FAnimNode_EvaluationNotifies::RegisterEvaluationHandler(UNotifyState_Alignment::StaticClass(), FAlignmentNotifyInstance::StaticStruct());
FAnimNode_EvaluationNotifies::RegisterEvaluationHandler(UNotifyState_TwoBoneIK::StaticClass(), FTwoBoneIKNotifyInstance::StaticStruct());
AnimNext::FEvaluationNotifiesTrait::RegisterEvaluationHandler(UNotifyState_Alignment::StaticClass(), FEvaluationNotify_AlignmentInstance::StaticStruct());
AnimNext::FEvaluationNotifiesTrait::RegisterEvaluationHandler(UNotifyState_AlignToGround::StaticClass(), FEvaluationNotify_AlignToGroundInstance::StaticStruct());
}
void FModule::ShutdownModule()
{
FAnimNode_EvaluationNotifies::UnregisterEvaluationHandler(UNotifyState_Alignment::StaticClass());
FAnimNode_EvaluationNotifies::UnregisterEvaluationHandler(UNotifyState_TwoBoneIK::StaticClass());
AnimNext::FEvaluationNotifiesTrait::UnregisterEvaluationHandler(UNotifyState_Alignment::StaticClass());
}
}
}
IMPLEMENT_MODULE(UE::EvaluationNotifies::FModule, EvaluationNotifiesRuntime)