From e31b7d581f6f246ec17b5a7e6f4a0f951d192675 Mon Sep 17 00:00:00 2001 From: badlogic Date: Wed, 26 Aug 2020 15:53:34 +0200 Subject: [PATCH] [ue4] Closes #1671, only import Spine specific .json files. --- .../Private/SpineSkeletonImportFactory.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/spine-ue4/Plugins/SpinePlugin/Source/SpineEditorPlugin/Private/SpineSkeletonImportFactory.cpp b/spine-ue4/Plugins/SpinePlugin/Source/SpineEditorPlugin/Private/SpineSkeletonImportFactory.cpp index 7964b95bd..54a2041ef 100644 --- a/spine-ue4/Plugins/SpinePlugin/Source/SpineEditorPlugin/Private/SpineSkeletonImportFactory.cpp +++ b/spine-ue4/Plugins/SpinePlugin/Source/SpineEditorPlugin/Private/SpineSkeletonImportFactory.cpp @@ -57,7 +57,18 @@ FText USpineSkeletonAssetFactory::GetToolTip () const { } bool USpineSkeletonAssetFactory::FactoryCanImport (const FString& Filename) { - return true; + if (Filename.Contains(TEXT(".skel"))) return true; + + if (Filename.Contains(TEXT(".json"))) { + TArray rawData; + if (!FFileHelper::LoadFileToArray(rawData, *Filename, 0)) { + return false; + } + if (rawData.Num() == 0) return false; + return strcmp((const char*)rawData.GetData(), "skeleton") > 0 && strcmp((const char*)rawData.GetData(), "spine") > 0; + } + + return false; } void LoadAtlas (const FString& Filename, const FString& TargetPath) {