// Copyright 2019-Present LexLiu. All Rights Reserved. #include "CoreMinimal.h" #include "IDetailCustomization.h" #pragma once /** * */ class FLGUISpriteDataCustomization : public IDetailCustomization { public: static TSharedRef MakeInstance(); /** IDetailCustomization interface */ virtual void CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) override; private: TWeakObjectPtr TargetScriptPtr; TSharedPtr spriteSlateBrush; TSharedPtr ImageBox; FOptionalSize GetMinDesiredHeight(IDetailLayoutBuilder* DetailBuilder)const; FOptionalSize GetImageWidth()const; FOptionalSize GetImageHeight()const; FOptionalSize GetBorderLeftSize()const; FOptionalSize GetBorderRightSize()const; FOptionalSize GetBorderTopSize()const; FOptionalSize GetBorderBottomSize()const; void OnPackingTagTextCommited(const FText& InText, ETextCommit::Type CommitType, TSharedRef InProperty, IDetailLayoutBuilder* DetailBuilder); FText GetPackingTagText(TSharedRef InProperty)const; TSharedRef GenerateComboItem(TSharedPtr InItem, const TSharedRef& OwnerTable); void HandleRequiredParamComboChanged(TSharedPtr Item, ESelectInfo::Type SelectInfo, TSharedRef InProperty, IDetailLayoutBuilder* DetailBuilder); TArray> NameList; void RefreshNameList(IDetailLayoutBuilder* DetailBuilder); void CheckSprite(); };