42 lines
1.0 KiB
C++
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
|