![]() |
ezEngine
Release 25.03
|
Base class for resources that represent different implementations of ezCustomData. More...
#include <CustomData.h>
Protected Member Functions | |
virtual void | CreateAndLoadData (ezAbstractObjectGraph &ref_graph, ezRttiConverterContext &ref_context, const ezAbstractObjectNode *pRootNode)=0 |
virtual ezResourceLoadDesc | UnloadData (Unload WhatToUnload) override |
Requests the resource to unload another quality level. If bFullUnload is true, the resource should unload all data, because it is going to be deleted afterwards. | |
ezResourceLoadDesc | UpdateContent_Internal (ezStreamReader *Stream, const ezRTTI &rtti) |
![]() | |
ezResource (DoUpdate ResourceUpdateThread, ezUInt8 uiQualityLevelsLoadable) | |
Default constructor. | |
virtual | ~ezResource () |
virtual destructor. | |
MemoryUsage & | ModifyMemoryUsage () |
Non-const version for resources that want to write this variable directly. | |
void | SetIsReloadable (bool bIsReloadable) |
Call this to specify whether a resource is reloadable. More... | |
void | SetHasLoadingFallback (bool bHasLoadingFallback) |
Used internally by the code injection macros. | |
Additional Inherited Members | |
![]() | |
enum | DoUpdate { OnMainThread, OnAnyThread, DoUpdate::OnGraphicsResourceThreads } |
![]() | |
EZ_ALWAYS_INLINE ezStringView | GetResourceID () const |
Returns the unique ID that identifies this resource. On a file resource this might be a path. Can also be a GUID or any other scheme that uniquely identifies the resource. | |
EZ_ALWAYS_INLINE ezUInt64 | GetResourceIDHash () const |
Returns the hash of the unique ID. | |
void | SetResourceDescription (ezStringView sDescription) |
The resource description allows to store an additional string that might be more descriptive during debugging, than the unique ID. | |
const ezString & | GetResourceDescription () const |
The resource description allows to store an additional string that might be more descriptive during debugging, than the unique ID. | |
const ezString & | GetResourceIdOrDescription () const |
The returns the resource description, if available, otherwise the resource ID. More... | |
EZ_ALWAYS_INLINE ezResourceState | GetLoadingState () const |
Returns the current state in which this resource is in. | |
EZ_ALWAYS_INLINE ezUInt8 | GetNumQualityLevelsDiscardable () const |
Returns the current maximum quality level that the resource could have. More... | |
EZ_ALWAYS_INLINE ezUInt8 | GetNumQualityLevelsLoadable () const |
Returns how many quality levels the resource may additionally load. | |
float | GetLoadingPriority (ezTime now) const |
Returns the priority that is used by the resource manager to determine which resource to load next. | |
ezResourcePriority | GetPriority () const |
Returns the current resource priority. | |
void | SetPriority (ezResourcePriority priority) |
Changes the current resource priority. | |
const EZ_ALWAYS_INLINE ezBitflags< ezResourceFlags > & | GetBaseResourceFlags () const |
Returns the basic flags for the resource type. Mostly used the resource manager. | |
const EZ_ALWAYS_INLINE MemoryUsage & | GetMemoryUsage () const |
Returns the information about the current memory usage of the resource. | |
EZ_ALWAYS_INLINE ezTime | GetLastAcquireTime () const |
Returns the time at which the resource was (tried to be) acquired last. If a resource is acquired using ezResourceAcquireMode::PointerOnly, this does not update the last acquired time, since the resource is not acquired for full use. | |
EZ_ALWAYS_INLINE ezInt32 | GetReferenceCount () const |
Returns the reference count of this resource. | |
const EZ_ALWAYS_INLINE ezTimestamp & | GetLoadedFileModificationTime () const |
Returns the modification date of the file from which this resource was loaded. More... | |
EZ_ALWAYS_INLINE ezUInt32 | GetCurrentResourceChangeCounter () const |
Returns the current value of the resource change counter. Can be used to detect whether the resource has changed since using it last time. More... | |
EZ_ALWAYS_INLINE void | IncResourceChangeCounter () |
Allows to manually increase the resource change counter to signal that dependent code might need to update. | |
virtual void | ResetResource () |
If the resource has modifications from the original state, it should reset itself to that state now (or force a reload on itself). | |
void | PrintHandleStackTraces () |
Prints the stack-traces for all handles that currently reference this resource. More... | |
![]() | |
virtual const ezRTTI * | GetDynamicRTTI () const |
bool | IsInstanceOf (const ezRTTI *pType) const |
Returns whether the type of this instance is of the given type or derived from it. | |
template<typename T > | |
EZ_ALWAYS_INLINE bool | IsInstanceOf () const |
Returns whether the type of this instance is of the given type or derived from it. | |
![]() | |
static const ezRTTI * | GetStaticRTTI () |
![]() | |
ezEvent< const ezResourceEvent &, ezMutex > | m_ResourceEvents |
![]() | |
static DoUpdate | UpdateGraphicsResource = ezResource::DoUpdate::OnAnyThread |
![]() | |
enum | Unload { AllQualityLevels, OneQualityLevel } |
Base class for resources that represent different implementations of ezCustomData.
These resources are automatically generated using these macros: EZ_DECLARE_CUSTOM_DATA_RESOURCE(YourCustomData) EZ_DEFINE_CUSTOM_DATA_RESOURCE(YourCustomData)
Put the former into a header next to YourCustomData and the latter into a cpp file.
This builds these types: YourCustomDataResource YourCustomDataResourceHandle
You can then use these to reference this resource type for example in components. For a full example search the SampleGamePlugin for SampleCustomDataResource and SampleCustomDataResourceHandle and see how they are used.