// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "ISCSEditorUICustomization.h" #include "Containers/Array.h" #include "Templates/SharedPointer.h" class FFBlueprintEditorSCSEditorUICustomization : public ISCSEditorUICustomization { public: static TSharedPtr GetInstance(); virtual ~FFBlueprintEditorSCSEditorUICustomization() override = default; virtual bool HideComponentsTree(TArrayView Context) const override; virtual bool HideComponentsFilterBox(TArrayView Context) const override; virtual bool HideAddComponentButton(TArrayView Context) const override; virtual bool HideBlueprintButtons(TArrayView Context) const override; virtual const FSlateBrush* GetIconBrush(const FSubobjectData&) const override; virtual TSharedPtr GetControlsWidget(const FSubobjectData&) const override; virtual EChildActorComponentTreeViewVisualizationMode GetChildActorVisualizationMode() const override; virtual TSubclassOf GetComponentTypeFilter(TArrayView Context) const override; void AddCustomization(TSharedPtr Customization); void RemoveCustomization(TSharedPtr Customization); virtual bool SortSubobjectData(TArray& SubobjectData) override; private: FFBlueprintEditorSCSEditorUICustomization(); static TSharedPtr Instance; TArray> Customizations; }; class FFBlueprintEditorDefaultSortUICustomization : public ISCSEditorUICustomization { public: static TSharedPtr GetInstance(); virtual bool SortSubobjectData(TArray& SubobjectData) override; private: FFBlueprintEditorDefaultSortUICustomization() = default; static TSharedPtr Instance; };