Open 3D Engine AzFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzFramework::AssetCatalog Class Reference

Inherits AZ::Data::AssetCatalog, AZ::Data::AssetCatalogRequestBus::Handler, and AzFramework::AssetSystem::NetworkAssetUpdateInterface.

Public Member Functions

 AZ_TYPE_INFO (AssetCatalog, "{D80BAFE6-0391-4D40-9C76-1E63D2D7C64F}")
 
 AssetCatalog (bool useDirectConnections)
 
void Reset ()
 Wipe and reset the catalog.
 
void InitializeCatalog (const char *catalogRegistryFile=nullptr)
 
void EnableCatalogForAsset (const AZ::Data::AssetType &assetType) override
 
void GetHandledAssetTypes (AZStd::vector< AZ::Data::AssetType > &assetTypes) override
 
AZ::Data::AssetType GetAssetTypeByDisplayName (const AZStd::string_view displayName) override
 
void DisableCatalog () override
 
void StartMonitoringAssets () override
 
void StopMonitoringAssets () override
 
bool LoadCatalog (const char *catalogRegistryFile) override
 
void ClearCatalog () override
 
bool SaveCatalog (const char *catalogRegistryFile) override
 
bool AddDeltaCatalog (AZStd::shared_ptr< AzFramework::AssetRegistry > deltaCatalog) override
 
bool InsertDeltaCatalog (AZStd::shared_ptr< AzFramework::AssetRegistry > deltaCatalog, size_t slotNum) override
 
bool InsertDeltaCatalogBefore (AZStd::shared_ptr< AzFramework::AssetRegistry > deltaCatalog, AZStd::shared_ptr< AzFramework::AssetRegistry > afterDeltaCatalog) override
 
bool RemoveDeltaCatalog (AZStd::shared_ptr< AzFramework::AssetRegistry > deltaCatalog) override
 
bool CreateBundleManifest (const AZStd::string &deltaCatalogPath, const AZStd::vector< AZStd::string > &dependentBundleNames, const AZStd::string &fileDirectory, int bundleVersion, const AZStd::vector< AZ::IO::Path > &levelDirs) override
 
bool CreateDeltaCatalog (const AZStd::vector< AZStd::string > &files, const AZStd::string &filePath) override
 
void AddExtension (const char *extension) override
 
void RegisterAsset (const AZ::Data::AssetId &id, AZ::Data::AssetInfo &info) override
 
void UnregisterAsset (const AZ::Data::AssetId &id) override
 
AZStd::string GetAssetPathById (const AZ::Data::AssetId &id) override
 
AZ::Data::AssetInfo GetAssetInfoById (const AZ::Data::AssetId &id) override
 
AZ::Data::AssetId GetAssetIdByPath (const char *path, const AZ::Data::AssetType &typeToRegister, bool autoRegisterIfNotFound) override
 
AZStd::vector< AZStd::string > GetRegisteredAssetPaths () override
 
AZ::Outcome< AZStd::vector< AZ::Data::ProductDependency >, AZStd::string > GetDirectProductDependencies (const AZ::Data::AssetId &asset) override
 
AZ::Outcome< AZStd::vector< AZ::Data::ProductDependency >, AZStd::string > GetAllProductDependencies (const AZ::Data::AssetId &asset) override
 
AZ::Outcome< AZStd::vector< AZ::Data::ProductDependency >, AZStd::string > GetAllProductDependenciesFilter (const AZ::Data::AssetId &id, const AZStd::unordered_set< AZ::Data::AssetId > &exclusionList, const AZStd::vector< AZStd::string > &wildcardPatternExclusionList) override
 
AZ::Outcome< AZStd::vector< AZ::Data::ProductDependency >, AZStd::string > GetLoadBehaviorProductDependencies (const AZ::Data::AssetId &id, AZStd::unordered_set< AZ::Data::AssetId > &noloadSet, AZ::Data::PreloadAssetListType &preloadAssetList) override
 
bool DoesAssetIdMatchWildcardPattern (const AZ::Data::AssetId &assetId, const AZStd::string &wildcardPattern) override
 
AZ::Data::AssetId GenerateAssetIdTEMP (const char *) override
 
void EnumerateAssets (BeginAssetEnumerationCB beginCB, AssetEnumerationCB enumerateCB, EndAssetEnumerationCB endCB) override
 
AZ::Data::AssetStreamInfo GetStreamInfoForLoad (const AZ::Data::AssetId &assetId, const AZ::Data::AssetType &assetType) override
 
AZ::Data::AssetStreamInfo GetStreamInfoForSave (const AZ::Data::AssetId &assetId, const AZ::Data::AssetType &assetType) override
 
void AssetChanged (const AZStd::vector< AzFramework::AssetSystem::AssetNotificationMessage > &messages, bool isCatalogInitialize=false) override
 Called by the AssetProcessor when an asset in the cache has been modified.
 
void AssetRemoved (const AZStd::vector< AzFramework::AssetSystem::AssetNotificationMessage > &messages) override
 Called by the AssetProcessor when an asset in the cache has been removed.
 

Static Public Member Functions

static bool SaveCatalog (const char *catalogRegistryFile, AzFramework::AssetRegistry *catalogRegistry)
 
static bool SaveAssetBundleManifest (const char *assetBundleManifestFile, AzFramework::AssetBundleManifest *bundleManifest)
 
static AZStd::shared_ptr< AzFramework::AssetRegistryLoadCatalogFromFile (const char *catalogFile)
 

Protected Member Functions

bool IsTrackedAssetType (const char *assetFilename) const
 
void AddAssetDependencies (const AZ::Data::AssetId &searchAssetId, AZStd::unordered_set< AZ::Data::AssetId > &assetSet, AZStd::vector< AZ::Data::ProductDependency > &dependencyList, const AZStd::unordered_set< AZ::Data::AssetId > &exclusionList, const AZStd::vector< AZStd::string > &wildcardPatternExclusionList, AZ::Data::PreloadAssetListType &preloadAssetList) const
 Helper function that adds all of searchAssetId's dependencies to the dependencySet/List (leaving out ones that are already in the list)
 
bool ReloadCatalogs ()
 
void AddCatalogEntry (AZStd::shared_ptr< AzFramework::AssetRegistry > deltaCatalog)
 
bool ApplyDeltaCatalog (AZStd::shared_ptr< AzFramework::AssetRegistry > deltaCatalog)
 
void InsertCatalogEntry (AZStd::shared_ptr< AzFramework::AssetRegistry > deltaCatalog, size_t catalogIndex)
 
void ResetRegistry ()
 

Member Function Documentation

◆ AssetChanged()

void AzFramework::AssetCatalog::AssetChanged ( const AZStd::vector< AzFramework::AssetSystem::AssetNotificationMessage > &  message,
bool  isCatalogInitialize = false 
)
overridevirtual

Called by the AssetProcessor when an asset in the cache has been modified.

Implements AzFramework::AssetSystem::NetworkAssetUpdateInterface.

◆ AssetRemoved()

void AzFramework::AssetCatalog::AssetRemoved ( const AZStd::vector< AzFramework::AssetSystem::AssetNotificationMessage > &  message)
overridevirtual

Called by the AssetProcessor when an asset in the cache has been removed.

Implements AzFramework::AssetSystem::NetworkAssetUpdateInterface.

◆ InitializeCatalog()

void AzFramework::AssetCatalog::InitializeCatalog ( const char *  catalogRegistryFile = nullptr)

Initialize the catalog for the current asset root.

Parameters
catalogRegistryFile- Optionally a previously saved catalog from which to load, rather than scanning.

◆ IsTrackedAssetType()

bool AzFramework::AssetCatalog::IsTrackedAssetType ( const char *  assetFilename) const
protected
Returns
true if the specified filename's extension matches those handled by the catalog.

The documentation for this class was generated from the following file: