![]() |
XII Release 0.1.0
|
Base class for all resource loaders. More...
#include <ResourceTypeLoader.h>
Public Member Functions | |
virtual xiiResourceLoadData | OpenDataStream (const xiiResource *pResource)=0 |
Override this function to implement the resource loading. | |
virtual void | CloseDataStream (const xiiResource *pResource, const xiiResourceLoadData &loaderData)=0 |
This function is called when the resource has been updated with the data from the resource loader and the loader can deallocate any temporary memory. | |
virtual bool | IsResourceOutdated (const xiiResource *pResource) const |
If this function returns true, a resource is unloaded and loaded again to update its content. | |
Base class for all resource loaders.
A resource loader handles preparing the data before the resource is updated with the data. Resource loaders are always executed on a separate thread.
|
pure virtual |
This function is called when the resource has been updated with the data from the resource loader and the loader can deallocate any temporary memory.
Implemented in xiiConfigFileResourceLoader, xiiDecalResourceLoader, xiiResourceLoaderFromFile, xiiResourceLoaderFromMemory, xiiShaderPermutationResourceLoader, and xiiTextureResourceLoader.
|
inlinevirtual |
If this function returns true, a resource is unloaded and loaded again to update its content.
Call xiiResource::GetLoadedFileModificationTime() to query the file modification time that was returned through xiiResourceLoadData::m_LoadedFileModificationDate.
Reimplemented in xiiConfigFileResourceLoader, xiiDecalResourceLoader, xiiResourceLoaderFromFile, xiiResourceLoaderFromMemory, xiiShaderPermutationResourceLoader, and xiiTextureResourceLoader.
|
pure virtual |
Override this function to implement the resource loading.
This function should take the information from pResource, e.g. which file to load, and do the loading work. It should allocate temporary storage for the loaded data and encode it in a memory stream, such that the resource can read all necessary information from the stream.
Implemented in xiiConfigFileResourceLoader, xiiDecalResourceLoader, xiiResourceLoaderFromFile, xiiResourceLoaderFromMemory, xiiShaderPermutationResourceLoader, and xiiTextureResourceLoader.