Skip to content

Commit 6ad57f9

Browse files
committed
Used the new FactoryCreateFile method for drag & drop factory.
1 parent ed1f576 commit 6ad57f9

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

Source/TextAssetEditor/Private/Factories/TextAssetFactory.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ UTextAssetFactory::UTextAssetFactory( const FObjectInitializer& ObjectInitialize
2323
/* UFactory overrides
2424
*****************************************************************************/
2525

26+
/* This is the old API (only for demonstration purposes)
2627
UObject* UTextAssetFactory::FactoryCreateBinary(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, const TCHAR* Type, const uint8*& Buffer, const uint8* BufferEnd, FFeedbackContext* Warn)
2728
{
2829
UTextAsset* TextAsset = nullptr;
@@ -34,5 +35,22 @@ UObject* UTextAssetFactory::FactoryCreateBinary(UClass* Class, UObject* InParent
3435
TextAsset->Text = FText::FromString(TextString);
3536
}
3637
38+
return TextAsset;
39+
}*/
40+
41+
42+
UObject* UTextAssetFactory::FactoryCreateFile(UClass* InClass, UObject* InParent, FName InName, EObjectFlags Flags, const FString& Filename, const TCHAR* Parms, FFeedbackContext* Warn, bool& bOutOperationCanceled)
43+
{
44+
UTextAsset* TextAsset = nullptr;
45+
FString TextString;
46+
47+
if (FFileHelper::LoadFileToString(TextString, *Filename))
48+
{
49+
TextAsset = NewObject<UTextAsset>(InParent, InClass, InName, Flags);
50+
TextAsset->Text = FText::FromString(TextString);
51+
}
52+
53+
bOutOperationCanceled = false;
54+
3755
return TextAsset;
3856
}

Source/TextAssetEditor/Private/Factories/TextAssetFactory.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,6 @@ class UTextAssetFactory
2121

2222
//~ UFactory Interface
2323

24-
virtual UObject* FactoryCreateBinary(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, const TCHAR* Type, const uint8*& Buffer, const uint8* BufferEnd, FFeedbackContext* Warn) override;
24+
// virtual UObject* FactoryCreateBinary(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, const TCHAR* Type, const uint8*& Buffer, const uint8* BufferEnd, FFeedbackContext* Warn) override;
25+
virtual UObject* FactoryCreateFile(UClass* InClass, UObject* InParent, FName InName, EObjectFlags Flags, const FString& Filename, const TCHAR* Parms, FFeedbackContext* Warn, bool& bOutOperationCanceled) override;
2526
};

0 commit comments

Comments
 (0)