Files
UnrealEngine/Engine/Plugins/2D/Paper2D/Source/Paper2DEditor/Private/PaperFlipbookAssetBroker.h
2025-05-18 13:04:45 +08:00

46 lines
1.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "ComponentAssetBroker.h"
#include "PaperFlipbookComponent.h"
#include "PaperFlipbook.h"
//////////////////////////////////////////////////////////////////////////
// FPaperFlipbookAssetBroker
class FPaperFlipbookAssetBroker : public IComponentAssetBroker
{
public:
UClass* GetSupportedAssetClass() override
{
return UPaperFlipbook::StaticClass();
}
virtual bool AssignAssetToComponent(UActorComponent* InComponent, UObject* InAsset) override
{
if (UPaperFlipbookComponent* RenderComp = Cast<UPaperFlipbookComponent>(InComponent))
{
UPaperFlipbook* Flipbook = Cast<UPaperFlipbook>(InAsset);
if ((Flipbook != nullptr) || (InAsset == nullptr))
{
RenderComp->SetFlipbook(Flipbook);
return true;
}
}
return false;
}
virtual UObject* GetAssetFromComponent(UActorComponent* InComponent) override
{
if (UPaperFlipbookComponent* RenderComp = Cast<UPaperFlipbookComponent>(InComponent))
{
return RenderComp->GetFlipbook();
}
return nullptr;
}
};