blob: 11b7996e20d13f450b37932273b17a77e749e8ac [file] [log] [blame]
#include "rive/assets/file_asset_referencer.hpp"
#include "rive/backboard.hpp"
#include "rive/assets/file_asset.hpp"
#include "rive/importers/backboard_importer.hpp"
using namespace rive;
FileAssetReferencer::~FileAssetReferencer()
{
if (m_fileAsset != nullptr)
{
m_fileAsset->removeFileAssetReferencer(this);
}
}
StatusCode FileAssetReferencer::registerReferencer(ImportStack& importStack)
{
auto backboardImporter = importStack.latest<BackboardImporter>(Backboard::typeKey);
if (backboardImporter == nullptr)
{
return StatusCode::MissingObject;
}
backboardImporter->addFileAssetReferencer(this);
return StatusCode::Ok;
}
void FileAssetReferencer::setAsset(FileAsset* asset)
{
if (m_fileAsset != nullptr)
{
m_fileAsset->removeFileAssetReferencer(this);
}
m_fileAsset = asset;
if (asset != nullptr)
{
asset->addFileAssetReferencer(this);
}
};