[ue4] Fixed call order of SpineSkeletonImportFactory, asset file name must be set before setting raw data. Fixes issue with importing .json files. See #1291.

This commit is contained in:
badlogic 2019-03-07 16:31:15 +01:00
parent dd85819c50
commit dcce71416f
3 changed files with 10 additions and 1 deletions

View File

@ -81,9 +81,9 @@ UObject* USpineSkeletonAssetFactory::FactoryCreateFile (UClass * InClass, UObjec
if (!FFileHelper::LoadFileToArray(rawData, *Filename, 0)) {
return nullptr;
}
asset->SetSkeletonDataFileName(FName(*Filename));
asset->SetRawData(rawData);
asset->SetSkeletonDataFileName(FName(*Filename));
const FString longPackagePath = FPackageName::GetLongPackagePath(asset->GetOutermost()->GetPathName());
LoadAtlas(Filename, longPackagePath);
return asset;

View File

@ -155,9 +155,15 @@ void USpineSkeletonDataAsset::LoadInfo() {
Skins.Empty();
for (int i = 0; i < skeletonData->getSkins().size(); i++)
Skins.Add(skeletonData->getSkins()[i]->getName().buffer());
Slots.Empty();
for (int i = 0; i < skeletonData->getSlots().size(); i++)
Slots.Add(skeletonData->getSlots()[i]->getName().buffer());
Animations.Empty();
for (int i = 0; i < skeletonData->getAnimations().size(); i++)
Animations.Add(skeletonData->getAnimations()[i]->getName().buffer());
Events.Empty();
for (int i = 0; i < skeletonData->getEvents().size(); i++)
Events.Add(skeletonData->getEvents()[i]->getName().buffer());
delete skeletonData;
}
#endif

View File

@ -82,6 +82,9 @@ public:
UPROPERTY(Transient, VisibleAnywhere)
TArray<FString> Animations;
UPROPERTY(Transient, VisibleAnywhere)
TArray<FString> Events;
protected:
UPROPERTY()