Files
bryan johnson e7bdda6b95 [Backout] - CL35087217
[FYI] Bryan.Johnson
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL35079176
[FYI] Mieszko.Zielinski
Original CL Desc
-----------------------------------------------------------------
Moved the rest of MassEntity modules over to the Engine's Source/ code.

#jira UE-216267

[CL 35087666 by bryan johnson in ue5-main branch]
2024-07-25 13:36:25 -04:00

52 lines
1.8 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "SMassDebuggerViewBase.h"
#include "MassDebuggerModel.h"
#include "Widgets/SBoxPanel.h"
struct FMassDebuggerProcessingGraph;
struct FMassDebuggerModel;
template<typename T> class STreeView;
struct FMassDebuggerProcessingGraphNodeTreeItem
{
FMassDebuggerProcessingGraphNodeTreeItem(const FMassDebuggerProcessingGraphNode& InNode);
FMassDebuggerProcessingGraphNode Node;
TArray<TSharedPtr<FMassDebuggerProcessingGraphNodeTreeItem>> ChildItems;
};
class SMassProcessingGraphView : public SMassDebuggerViewBase
{
public:
SLATE_BEGIN_ARGS(SMassProcessingGraphView)
: _OffsetPerLevel(10.f)
{}
SLATE_ATTRIBUTE(float, OffsetPerLevel)
SLATE_END_ARGS()
void Construct(const FArguments& InArgs, TSharedRef<FMassDebuggerModel> InDebuggerModel);
void Display(TSharedPtr<FMassDebuggerProcessingGraph> InProcessingGraphData);
protected:
void HandleSelectionChanged(TSharedPtr<FMassDebuggerProcessingGraphNodeTreeItem> InNode, ESelectInfo::Type InSelectInfo);
virtual void OnRefresh() override;
virtual void OnProcessorsSelected(TConstArrayView<TSharedPtr<FMassDebuggerProcessorData>> SelectedProcessors, ESelectInfo::Type) override;
virtual void OnArchetypesSelected(TConstArrayView<TSharedPtr<FMassDebuggerArchetypeData>> SelectedArchetypes, ESelectInfo::Type) override;
void ClearSelection();
void MarkDependencies(const FMassDebuggerProcessingGraphNode& Node);
TSharedPtr<FMassDebuggerProcessingGraph> ProcessingGraphData;
TSharedPtr<SVerticalBox> ItemsBox;
float OffsetPerLevel;
TArray<TSharedPtr<FMassDebuggerProcessingGraphNodeTreeItem>> AllNodes;
TArray<TSharedPtr<FMassDebuggerProcessingGraphNodeTreeItem>> RootNodes;
TSharedPtr<STreeView<TSharedPtr<FMassDebuggerProcessingGraphNodeTreeItem>>> GraphNodesTree;
};