2023-03-14 13:35:46 -04:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2024-05-02 11:47:26 -04:00
|
|
|
#if WITH_STATETREE_TRACE_DEBUGGER
|
2023-03-14 13:35:46 -04:00
|
|
|
|
|
|
|
|
#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
|
|
|
|
|
{
|
2023-05-26 11:59:58 -04:00
|
|
|
RouteId_WorldTimestamp,
|
2023-12-13 10:21:13 -05:00
|
|
|
RouteId_AssetDebugId,
|
2023-03-14 13:35:46 -04:00
|
|
|
RouteId_Instance,
|
2023-12-13 10:21:13 -05:00
|
|
|
RouteId_InstanceFrame,
|
2023-05-29 10:13:21 -04:00
|
|
|
RouteId_Phase,
|
2023-03-14 13:35:46 -04:00
|
|
|
RouteId_LogMessage,
|
|
|
|
|
RouteId_State,
|
|
|
|
|
RouteId_Task,
|
2023-08-07 18:06:40 -04:00
|
|
|
RouteId_Evaluator,
|
2023-05-23 10:46:16 -04:00
|
|
|
RouteId_Transition,
|
2023-04-19 13:26:23 -04:00
|
|
|
RouteId_Condition,
|
2023-03-14 13:35:46 -04:00
|
|
|
RouteId_ActiveStates
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
TraceServices::IAnalysisSession& Session;
|
|
|
|
|
FStateTreeTraceProvider& Provider;
|
2023-05-26 11:59:58 -04:00
|
|
|
double WorldTime = 0;
|
2023-03-14 13:35:46 -04:00
|
|
|
};
|
2024-05-02 11:47:26 -04:00
|
|
|
#endif // WITH_STATETREE_TRACE_DEBUGGER
|