// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" /** * */ class FDataTableRowSelectorCustomization: public IPropertyTypeCustomization { public: static TSharedRef MakeInstance() { return MakeShareable(new FDataTableRowSelectorCustomization()); } FDataTableRowSelectorCustomization(){} virtual void CustomizeHeader(TSharedRef PropertyHandle, FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& CustomizationUtils) override; virtual void CustomizeChildren(TSharedRef PropertyHandle, IDetailChildrenBuilder& ChildBuilder, IPropertyTypeCustomizationUtils& CustomizationUtils) override; private: void RefreshDataTableAfterFilter(); void GenerateRowNameSelecter(TSharedRef PropertyHandle, IDetailChildrenBuilder& ChildBuilder); TSharedPtr DataTableHandle; FName SelectedDataTable = NAME_None; //选中的datatable TSharedPtr RowNameHandle; FName SelectedRowName = NAME_None;; //选中的row TArray FilteredDataTableNames; TArray DataTableRows; FString AllowRowType; //dataTable过滤的行类型 };