mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 09:46:02 +08:00
[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:
parent
dd85819c50
commit
dcce71416f
@ -81,9 +81,9 @@ UObject* USpineSkeletonAssetFactory::FactoryCreateFile (UClass * InClass, UObjec
|
|||||||
if (!FFileHelper::LoadFileToArray(rawData, *Filename, 0)) {
|
if (!FFileHelper::LoadFileToArray(rawData, *Filename, 0)) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
asset->SetSkeletonDataFileName(FName(*Filename));
|
||||||
asset->SetRawData(rawData);
|
asset->SetRawData(rawData);
|
||||||
|
|
||||||
asset->SetSkeletonDataFileName(FName(*Filename));
|
|
||||||
const FString longPackagePath = FPackageName::GetLongPackagePath(asset->GetOutermost()->GetPathName());
|
const FString longPackagePath = FPackageName::GetLongPackagePath(asset->GetOutermost()->GetPathName());
|
||||||
LoadAtlas(Filename, longPackagePath);
|
LoadAtlas(Filename, longPackagePath);
|
||||||
return asset;
|
return asset;
|
||||||
|
|||||||
@ -155,9 +155,15 @@ void USpineSkeletonDataAsset::LoadInfo() {
|
|||||||
Skins.Empty();
|
Skins.Empty();
|
||||||
for (int i = 0; i < skeletonData->getSkins().size(); i++)
|
for (int i = 0; i < skeletonData->getSkins().size(); i++)
|
||||||
Skins.Add(skeletonData->getSkins()[i]->getName().buffer());
|
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();
|
Animations.Empty();
|
||||||
for (int i = 0; i < skeletonData->getAnimations().size(); i++)
|
for (int i = 0; i < skeletonData->getAnimations().size(); i++)
|
||||||
Animations.Add(skeletonData->getAnimations()[i]->getName().buffer());
|
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;
|
delete skeletonData;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -83,6 +83,9 @@ public:
|
|||||||
UPROPERTY(Transient, VisibleAnywhere)
|
UPROPERTY(Transient, VisibleAnywhere)
|
||||||
TArray<FString> Animations;
|
TArray<FString> Animations;
|
||||||
|
|
||||||
|
UPROPERTY(Transient, VisibleAnywhere)
|
||||||
|
TArray<FString> Events;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
UPROPERTY()
|
UPROPERTY()
|
||||||
TArray<uint8> rawData;
|
TArray<uint8> rawData;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user