2023-03-14 13:35:46 -04:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
2024-05-02 11:47:26 -04:00
|
|
|
#if WITH_STATETREE_TRACE_DEBUGGER
|
2023-03-14 13:35:46 -04:00
|
|
|
|
|
|
|
|
#include "Debugger/StateTreeTraceModule.h"
|
|
|
|
|
#include "Debugger/StateTreeTraceProvider.h"
|
|
|
|
|
#include "Debugger/StateTreeTraceAnalyzer.h"
|
2023-05-26 11:59:58 -04:00
|
|
|
#include "Debugger/StateTreeDebugger.h" // Required to compile TArray<UE::StateTreeDebugger::FInstanceDescriptor> from StateTreeTraceProvider
|
2023-03-14 13:35:46 -04:00
|
|
|
#include "TraceServices/Model/AnalysisSession.h"
|
|
|
|
|
|
|
|
|
|
FName FStateTreeTraceModule::ModuleName("TraceModule_StateTree");
|
|
|
|
|
|
|
|
|
|
void FStateTreeTraceModule::GetModuleInfo(TraceServices::FModuleInfo& OutModuleInfo)
|
|
|
|
|
{
|
|
|
|
|
OutModuleInfo.Name = ModuleName;
|
2023-05-26 11:59:58 -04:00
|
|
|
OutModuleInfo.DisplayName = TEXT("StateTree");
|
2023-03-14 13:35:46 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FStateTreeTraceModule::OnAnalysisBegin(TraceServices::IAnalysisSession& InSession)
|
|
|
|
|
{
|
|
|
|
|
const TSharedPtr<FStateTreeTraceProvider> Provider = MakeShared<FStateTreeTraceProvider>(InSession);
|
|
|
|
|
InSession.AddProvider(FStateTreeTraceProvider::ProviderName, Provider);
|
|
|
|
|
InSession.AddAnalyzer(new FStateTreeTraceAnalyzer(InSession, *Provider));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FStateTreeTraceModule::GetLoggers(TArray<const TCHAR *>& OutLoggers)
|
|
|
|
|
{
|
2023-05-26 11:59:58 -04:00
|
|
|
OutLoggers.Add(TEXT("StateTree"));
|
2023-03-14 13:35:46 -04:00
|
|
|
}
|
|
|
|
|
|
2024-05-02 11:47:26 -04:00
|
|
|
#endif // WITH_STATETREE_TRACE_DEBUGGER
|