LkEngine 0.1.2
 
Loading...
Searching...
No Matches
LkEngine::LRuntimeAssetManager Class Reference
Inheritance diagram for LkEngine::LRuntimeAssetManager:
LkEngine::IAssetManager LkEngine::LObject LkEngine::LObjectBase

Public Member Functions

virtual void Initialize () override
 Initialize object.
 
virtual void Destroy () override
 Destroy object, releasing all resources.
 
template<typename AssetType >
TObjectPtr< AssetType > ImportAsset (const std::filesystem::path &Filepath)
 
virtual FAssetHandle ImportAsset (const std::filesystem::path &Filepath) override
 
virtual void RemoveAsset (const FAssetHandle Handle) override
 
virtual TObjectPtr< LAssetGetAsset (const FAssetHandle Handle) override
 
virtual EAssetType GetAssetType (const FAssetHandle Handle) override
 
virtual bool ReloadData (const FAssetHandle Handle) override
 
virtual void AddMemoryOnlyAsset (TObjectPtr< LAsset > Asset) override
 
virtual bool IsAssetHandleValid (const FAssetHandle Handle) const override
 
virtual bool IsAssetLoaded (const FAssetHandle Handle) const override
 
virtual bool IsMemoryAsset (const FAssetHandle Handle) const override
 
virtual bool LoadAssetRegistry () override
 
virtual void WriteRegistryToDisk () override
 
virtual const FAssetMetadataGetMetadata (const FAssetHandle Handle) const override
 
virtual const FAssetMetadataGetMetadata (const TObjectPtr< LAsset > &Asset) const override
 
virtual const FAssetMetadataGetMetadata (const std::filesystem::path &InFilePath) const override
 
virtual FAssetHandle GetAssetHandleFromFilePath (const std::filesystem::path &InFilePath) const override
 
virtual EAssetType GetAssetTypeFromExtension (const std::string &Extension) const override
 
virtual EAssetType GetAssetTypeFromPath (const std::filesystem::path &InFilePath) const override
 
virtual std::unordered_set< FAssetHandleGetAllAssetsWithType (const EAssetType AssetType) override
 
virtual std::size_t GetAllAssetsWithType (const EAssetType AssetType, std::unordered_set< FAssetHandle > &AssetsOfType) override
 
std::filesystem::path GetFileSystemPath (const FAssetMetadata &Metadata) const
 
std::filesystem::path GetFileSystemPath (const FAssetHandle Handle) const
 
std::filesystem::path GetRelativePath (const std::filesystem::path &InFilePath) const
 
template<typename T >
TObjectPtr< T > GetAsset (const std::string &InFilePath)
 
template<typename T , typename... TArgs>
TObjectPtr< T > CreateNewAsset (const std::string &FileName, const std::string &DirectoryPath, TArgs &&... Args)
 
virtual const std::unordered_map< FAssetHandle, TObjectPtr< LAsset > > & GetLoadedAssets () const override
 
virtual const std::unordered_map< FAssetHandle, TObjectPtr< LAsset > > & GetMemoryOnlyAssets () const override
 
int GetTextures2D (std::vector< TObjectPtr< LTexture2D > > &TextureContainer)
 
int GetTextures2D (std::vector< std::pair< std::string, TObjectPtr< LTexture2D > > > &TextureContainer)
 
const std::vector< std::pair< std::string, TObjectPtr< LTexture2D > > > & GetTextures2D () const
 
FORCEINLINE const LAssetRegistryGetAssetRegistry () const
 
template<typename T >
TObjectPtr< T > ImportAsset (const std::filesystem::path &InFilePath)
 
template<>
TObjectPtr< LMeshSourceImportAsset (const std::filesystem::path &InFilePath)
 
template<>
TObjectPtr< LMeshImportAsset (const std::filesystem::path &InFilePath)
 
template<>
TObjectPtr< LStaticMeshImportAsset (const std::filesystem::path &InFilePath)
 
- Public Member Functions inherited from LkEngine::IAssetManager
- Public Member Functions inherited from LkEngine::LObject
 LObject (const LObject &Other)
 
virtual FORCEINLINE bool IsInitialized () const
 Check if object is initialized.
 
FORCEINLINE FObjectHandle GetObjectHandle () const
 Get the object handle.
 
virtual FORCEINLINE bool IsObjectValid () const
 Check if object is valid for use.
 
virtual const LClassObjectRegistration ()=0
 Register object class.
 
virtual FORCEINLINE const LClassGetClass () const
 Get the class for this LObject.
 
virtual std::string ClassName () const =0
 Get name of the LObject class.
 
LObjectoperator= (const LObject &Other)
 
void MarkAsGarbage ()
 Mark object as garbage.
 
template<typename T >
T & As ()
 Cast object to type T.
 
template<typename T >
const T & As () const
 Cast object to type T.
 
template<typename T >
bool IsA () const
 Check if the object is or is a derivation of type T.
 
virtual FORCEINLINE bool IsAsset () const
 Check if object is an asset.
 
FORCEINLINE uint32_t GetReferenceCount () const
 Return current reference count from all object pointers.
 
- Public Member Functions inherited from LkEngine::LObjectBase
template<typename OtherClassType >
FORCEINLINE bool IsA (OtherClassType OtherObject) const
 Check if the object is the same type as the passed object's.
 

Additional Inherited Members

- Static Public Member Functions inherited from LkEngine::LObject
static FORCEINLINE const LClassStaticClass ()
 Get static class object.
 
static FORCEINLINE std::string StaticClassName ()
 Static class name.
 
template<typename T >
static void ValidateLObjectImplementation ()
 Validate the implementation of a LObject.
 
- Static Public Member Functions inherited from LkEngine::LObjectBase
template<typename ClassType >
static FORCEINLINE bool IsChildOf (const ClassType *InObjectClass, const ClassType *InOtherClass)
 Check if the object is a child of another class.
 
- Protected Member Functions inherited from LkEngine::IAssetManager
- Protected Member Functions inherited from LkEngine::LObjectBase
void SetClass (LClass *InClass)
 Set the class.
 
FORCEINLINE const LClassGetClass () const
 Get the private class member.
 
FORCEINLINE bool IsClassValid () const
 Check if LObjectBase has a valid LClass object.
 
- Protected Attributes inherited from LkEngine::LObject
FObjectHandle ObjectHandle = 0
 
bool bObjectInitialized = false
 
EObjectFlag ObjectFlags = EObjectFlag::None
 
std::atomic< uint32_t > Ptr_ReferenceCount = 0
 

Member Function Documentation

◆ AddMemoryOnlyAsset()

void LkEngine::LRuntimeAssetManager::AddMemoryOnlyAsset ( TObjectPtr< LAsset > Asset)
overridevirtual

◆ Destroy()

void LkEngine::LRuntimeAssetManager::Destroy ( )
overridevirtual

Destroy object, releasing all resources.

Implements LkEngine::IAssetManager.

◆ GetAllAssetsWithType() [1/2]

std::unordered_set< FAssetHandle > LkEngine::LRuntimeAssetManager::GetAllAssetsWithType ( const EAssetType AssetType)
overridevirtual

◆ GetAllAssetsWithType() [2/2]

std::size_t LkEngine::LRuntimeAssetManager::GetAllAssetsWithType ( const EAssetType AssetType,
std::unordered_set< FAssetHandle > & AssetsOfType )
overridevirtual

◆ GetAsset()

TObjectPtr< LAsset > LkEngine::LRuntimeAssetManager::GetAsset ( const FAssetHandle Handle)
overridevirtual

◆ GetAssetHandleFromFilePath()

LUUID LkEngine::LRuntimeAssetManager::GetAssetHandleFromFilePath ( const std::filesystem::path & InFilePath) const
overridevirtual

◆ GetAssetType()

EAssetType LkEngine::LRuntimeAssetManager::GetAssetType ( const FAssetHandle Handle)
overridevirtual

◆ GetAssetTypeFromExtension()

EAssetType LkEngine::LRuntimeAssetManager::GetAssetTypeFromExtension ( const std::string & Extension) const
overridevirtual

◆ GetAssetTypeFromPath()

EAssetType LkEngine::LRuntimeAssetManager::GetAssetTypeFromPath ( const std::filesystem::path & InFilePath) const
overridevirtual

◆ GetLoadedAssets()

virtual const std::unordered_map< FAssetHandle, TObjectPtr< LAsset > > & LkEngine::LRuntimeAssetManager::GetLoadedAssets ( ) const
inlineoverridevirtual

◆ GetMemoryOnlyAssets()

virtual const std::unordered_map< FAssetHandle, TObjectPtr< LAsset > > & LkEngine::LRuntimeAssetManager::GetMemoryOnlyAssets ( ) const
inlineoverridevirtual

◆ GetMetadata() [1/3]

const FAssetMetadata & LkEngine::LRuntimeAssetManager::GetMetadata ( const FAssetHandle Handle) const
overridevirtual

◆ GetMetadata() [2/3]

const FAssetMetadata & LkEngine::LRuntimeAssetManager::GetMetadata ( const std::filesystem::path & InFilePath) const
overridevirtual

◆ GetMetadata() [3/3]

const FAssetMetadata & LkEngine::LRuntimeAssetManager::GetMetadata ( const TObjectPtr< LAsset > & Asset) const
overridevirtual

◆ ImportAsset() [1/6]

template<typename AssetType >
TObjectPtr< AssetType > LkEngine::LRuntimeAssetManager::ImportAsset ( const std::filesystem::path & Filepath)
virtual

◆ ImportAsset() [2/6]

FAssetHandle LkEngine::LRuntimeAssetManager::ImportAsset ( const std::filesystem::path & Filepath)
overridevirtual

◆ ImportAsset() [3/6]

template<typename T >
TObjectPtr< T > LkEngine::LRuntimeAssetManager::ImportAsset ( const std::filesystem::path & InFilePath)
virtual

◆ ImportAsset() [4/6]

template<>
TObjectPtr< LMeshSource > LkEngine::LRuntimeAssetManager::ImportAsset ( const std::filesystem::path & InFilePath)
virtual

◆ ImportAsset() [5/6]

template<>
TObjectPtr< LMesh > LkEngine::LRuntimeAssetManager::ImportAsset ( const std::filesystem::path & InFilePath)
virtual

◆ ImportAsset() [6/6]

template<>
TObjectPtr< LStaticMesh > LkEngine::LRuntimeAssetManager::ImportAsset ( const std::filesystem::path & InFilePath)
virtual

◆ Initialize()

void LkEngine::LRuntimeAssetManager::Initialize ( )
overridevirtual

Initialize object.

Implements LkEngine::IAssetManager.

◆ IsAssetHandleValid()

bool LkEngine::LRuntimeAssetManager::IsAssetHandleValid ( const FAssetHandle Handle) const
overridevirtual

◆ IsAssetLoaded()

bool LkEngine::LRuntimeAssetManager::IsAssetLoaded ( const FAssetHandle Handle) const
overridevirtual

◆ IsMemoryAsset()

virtual bool LkEngine::LRuntimeAssetManager::IsMemoryAsset ( const FAssetHandle Handle) const
inlineoverridevirtual

◆ LoadAssetRegistry()

bool LkEngine::LRuntimeAssetManager::LoadAssetRegistry ( )
overridevirtual

◆ ReloadData()

bool LkEngine::LRuntimeAssetManager::ReloadData ( const FAssetHandle Handle)
overridevirtual

◆ RemoveAsset()

void LkEngine::LRuntimeAssetManager::RemoveAsset ( const FAssetHandle Handle)
overridevirtual

◆ WriteRegistryToDisk()

void LkEngine::LRuntimeAssetManager::WriteRegistryToDisk ( )
overridevirtual

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