FName FClassIconFinder::FindIconNameForActor( const TWeakObjectPtr<AActor>& InActor ) { // Actor specific overrides to normal per-class icons AActor* Actor = InActor.Get(); FName BrushName = NAME_None; if ( Actor ) { ABrush* Brush = Cast< ABrush >( Actor ); if ( Brush ) { if (Brush_Add == Brush->BrushType) { BrushName = TEXT( "ClassIcon.BrushAdditive" ); } else if (Brush_Subtract == Brush->BrushType) { BrushName = TEXT( "ClassIcon.BrushSubtractive" ); } } // Actor didn't specify an icon - fallback on the class icon if ( BrushName.IsNone() ) { BrushName = FindIconNameForClass( Actor->GetClass() ); } } else { // If the actor reference is NULL it must have been deleted BrushName = TEXT( "ClassIcon.Deleted" ); } return BrushName; }
const FSlateBrush* FClassIconFinder::FindIconForClass(const UClass* InClass, const FName& InDefaultName ) { return FClassIconFinder::LookupBrush( FindIconNameForClass( InClass, InDefaultName ) ); }
const FSlateBrush* FClassIconFinder::FindIconForClass(UClass* InClass, const FName& InDefaultName ) { return FEditorStyle::GetBrush( FindIconNameForClass( InClass, InDefaultName ) ); }