diff --git a/spine-ue4/Plugins/SpinePlugin/Source/SpineEditorPlugin/Private/SpineSkeletonImportFactory.cpp b/spine-ue4/Plugins/SpinePlugin/Source/SpineEditorPlugin/Private/SpineSkeletonImportFactory.cpp index 75f49a7cc..40e638fd1 100644 --- a/spine-ue4/Plugins/SpinePlugin/Source/SpineEditorPlugin/Private/SpineSkeletonImportFactory.cpp +++ b/spine-ue4/Plugins/SpinePlugin/Source/SpineEditorPlugin/Private/SpineSkeletonImportFactory.cpp @@ -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; diff --git a/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineSkeletonAnimationComponent.cpp b/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineSkeletonAnimationComponent.cpp index cb62ac8be..a9edb99dd 100644 --- a/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineSkeletonAnimationComponent.cpp +++ b/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineSkeletonAnimationComponent.cpp @@ -97,13 +97,13 @@ void USpineSkeletonAnimationComponent::InternalTick(float DeltaTime, bool CallDe if (state && bAutoPlaying) { if (lastPreviewAnimation != PreviewAnimation) { - if (PreviewAnimation != "") SetAnimation(0, TCHAR_TO_UTF8(*PreviewAnimation), true); + if (PreviewAnimation != "") SetAnimation(0, PreviewAnimation, true); else SetEmptyAnimation(0, 0); lastPreviewAnimation = PreviewAnimation; } if (lastPreviewSkin != PreviewSkin) { - if (PreviewSkin != "") SetSkin(TCHAR_TO_UTF8(*PreviewSkin)); + if (PreviewSkin != "") SetSkin(PreviewSkin); else SetSkin("default"); lastPreviewSkin = PreviewSkin; } diff --git a/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineSkeletonDataAsset.cpp b/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineSkeletonDataAsset.cpp index 34423f537..8b101866f 100644 --- a/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineSkeletonDataAsset.cpp +++ b/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineSkeletonDataAsset.cpp @@ -151,13 +151,19 @@ void USpineSkeletonDataAsset::LoadInfo() { if (skeletonData) { Bones.Empty(); for (int i = 0; i < skeletonData->getBones().size(); i++) - Bones.Add(skeletonData->getBones()[i]->getName().buffer()); + Bones.Add(UTF8_TO_TCHAR(skeletonData->getBones()[i]->getName().buffer())); Skins.Empty(); for (int i = 0; i < skeletonData->getSkins().size(); i++) - Skins.Add(skeletonData->getSkins()[i]->getName().buffer()); + Skins.Add(UTF8_TO_TCHAR(skeletonData->getSkins()[i]->getName().buffer())); + Slots.Empty(); + for (int i = 0; i < skeletonData->getSlots().size(); i++) + Slots.Add(UTF8_TO_TCHAR(skeletonData->getSlots()[i]->getName().buffer())); Animations.Empty(); for (int i = 0; i < skeletonData->getAnimations().size(); i++) - Animations.Add(skeletonData->getAnimations()[i]->getName().buffer()); + Animations.Add(UTF8_TO_TCHAR(skeletonData->getAnimations()[i]->getName().buffer())); + Events.Empty(); + for (int i = 0; i < skeletonData->getEvents().size(); i++) + Events.Add(UTF8_TO_TCHAR(skeletonData->getEvents()[i]->getName().buffer())); delete skeletonData; } #endif diff --git a/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Public/SpineSkeletonDataAsset.h b/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Public/SpineSkeletonDataAsset.h index c94a896ce..48dd58492 100644 --- a/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Public/SpineSkeletonDataAsset.h +++ b/spine-ue4/Plugins/SpinePlugin/Source/SpinePlugin/Public/SpineSkeletonDataAsset.h @@ -82,6 +82,9 @@ public: UPROPERTY(Transient, VisibleAnywhere) TArray Animations; + + UPROPERTY(Transient, VisibleAnywhere) + TArray Events; protected: UPROPERTY()