Files
UnrealEngineUWP/Engine/Plugins/Runtime/StateTree/Source/StateTreeModule/Private/Debugger/StateTreeTraceModule.cpp
yoan stamant 64c8dca7cb [StateTreeDebugger]
Initial version of the debugger
- currently compiled by StateTreeModule and StateTreeEditorModule using WITH_STATETREE_DEBUGGER
- currently not exposed to UI by StateTree settings 'bUseDebugger'
- in this version only one instance per asset can be debugged
- using Trace services to read events generated by statetree instances.
- can connect to any traces (Editor, Client, Server) as long as the compiled statetree matches
#rb mieszko.zielinski
#preflight 641088a30e1f02786b509663

[CL 24639409 by yoan stamant in ue5-main branch]
2023-03-14 13:35:46 -04:00

32 lines
1.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#if WITH_STATETREE_DEBUGGER
#include "Debugger/StateTreeTraceModule.h"
#include "Debugger/StateTreeTraceProvider.h"
#include "Debugger/StateTreeTraceAnalyzer.h"
#include "Debugger/StateTreeDebugger.h"
#include "TraceServices/Model/AnalysisSession.h"
FName FStateTreeTraceModule::ModuleName("TraceModule_StateTree");
void FStateTreeTraceModule::GetModuleInfo(TraceServices::FModuleInfo& OutModuleInfo)
{
OutModuleInfo.Name = ModuleName;
OutModuleInfo.DisplayName = TEXT("StateTreee");
}
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)
{
OutLoggers.Add(TEXT("StateTreee"));
}
#endif // WITH_STATETREE_DEBUGGER