46 lines
1.3 KiB
C++
46 lines
1.3 KiB
C++
// VRM4U Copyright (c) 2021-2024 Haruyoshi Yamamoto. This software is released under the MIT License.
|
|
// ApplicationLifecycleComponent.cpp: Component to handle receiving notifications from the OS about application state (activated, suspended, termination, etc)
|
|
|
|
|
|
#include "VrmLoaderComponent.h"
|
|
#include "VrmAssetListObject.h"
|
|
#include "LoaderBPFunctionLibrary.h"
|
|
|
|
#include "Misc/CoreDelegates.h"
|
|
|
|
|
|
UVrmLoaderComponent::UVrmLoaderComponent(const FObjectInitializer& ObjectInitializer)
|
|
: Super(ObjectInitializer)
|
|
{
|
|
}
|
|
|
|
void UVrmLoaderComponent::OnRegister()
|
|
{
|
|
Super::OnRegister();
|
|
}
|
|
|
|
void UVrmLoaderComponent::OnUnregister()
|
|
{
|
|
Super::OnUnregister();
|
|
}
|
|
|
|
bool UVrmLoaderComponent::LoadVRMFile(const UVrmAssetListObject *InVrmAsset, UVrmAssetListObject *&OutVrmAsset, FString filepath) {
|
|
return ULoaderBPFunctionLibrary::LoadVRMFileLocal(InVrmAsset, OutVrmAsset, filepath);
|
|
}
|
|
|
|
bool UVrmLoaderComponent::LoadVRMFileAsync(const UVrmAssetListObject *InVrmAsset, FString filepath) {
|
|
|
|
ULoaderBPFunctionLibrary::LoadVRMFileLocal(InVrmAsset, AssetList, filepath);
|
|
bResultQueue = true;
|
|
return true;
|
|
}
|
|
|
|
void UVrmLoaderComponent::TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) {
|
|
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
|
|
|
|
if (bResultQueue) {
|
|
bResultQueue = false;
|
|
OnFinishLoad.Broadcast(AssetList);
|
|
}
|
|
}
|