| #include "rive/assets/file_asset.hpp" |
| #include "rive/backboard.hpp" |
| #include "rive/importers/backboard_importer.hpp" |
| |
| using namespace rive; |
| |
| StatusCode FileAsset::import(ImportStack& importStack) |
| { |
| auto backboardImporter = |
| importStack.latest<BackboardImporter>(Backboard::typeKey); |
| if (backboardImporter == nullptr) |
| { |
| return StatusCode::MissingObject; |
| } |
| backboardImporter->addFileAsset(this); |
| |
| return Super::import(importStack); |
| } |
| |
| std::string FileAsset::uniqueFilename() |
| { |
| // remove final extension |
| std::string uniqueFilename = name(); |
| std::size_t finalDot = uniqueFilename.rfind('.'); |
| |
| if (finalDot != std::string::npos) |
| { |
| uniqueFilename = uniqueFilename.substr(0, finalDot); |
| } |
| return uniqueFilename + "-" + std::to_string(assetId()) + "." + |
| fileExtension(); |
| } |