Files
UnrealEngine/Engine/Plugins/Runtime/StateTree/Source/StateTreeModule/Public/Debugger/StateTreeTraceAnalyzer.h
2025-05-18 13:04:45 +08:00

42 lines
1.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#if WITH_STATETREE_TRACE_DEBUGGER
#include "Trace/Analyzer.h"
class FStateTreeTraceProvider;
namespace TraceServices { class IAnalysisSession; }
class FStateTreeTraceAnalyzer : public UE::Trace::IAnalyzer
{
public:
FStateTreeTraceAnalyzer(TraceServices::IAnalysisSession& InSession, FStateTreeTraceProvider& InProvider);
virtual void OnAnalysisBegin(const FOnAnalysisContext& Context) override;
virtual void OnAnalysisEnd() override {}
virtual bool OnEvent(uint16 RouteId, EStyle Style, const FOnEventContext& Context) override;
private:
enum : uint16
{
RouteId_WorldTimestamp,
RouteId_AssetDebugId,
RouteId_Instance,
RouteId_InstanceFrame,
RouteId_Phase,
RouteId_LogMessage,
RouteId_State,
RouteId_Task,
RouteId_Evaluator,
RouteId_Transition,
RouteId_Condition,
RouteId_ActiveStates
};
TraceServices::IAnalysisSession& Session;
FStateTreeTraceProvider& Provider;
double WorldTime = 0;
};
#endif // WITH_STATETREE_TRACE_DEBUGGER