Drag[en]gine Game Engine 1.32.3
Loading...
Searching...
No Matches
deResource Class Reference

Base resource class. More...

#include <deResource.h>

Inheritance diagram for deResource:
deObject deAnimator deAnimatorInstance deAudioAnalyzer deBillboard deCamera deCanvas deCaptureCanvas deCollider deComponent deConnection deDebugDrawer deDecal deDynamicSkin deEffect deEnvMapProbe deFileResource deForceField deHeightTerrain deLight deLumimeter deMicrophone deNavigationBlocker deNavigationSpace deNavigator deNetworkState deParticleEmitter deParticleEmitterInstance dePropField deRenderWindow deServer deService deSky deSkyInstance deSmokeEmitter deSoundLevelMeter deSpeaker deSynthesizer deSynthesizerInstance deTouchSensor deVideoPlayer deWorld

Public Types

using Ref = deTObjectReference< deResource >
 Type holding strong reference.
 
- Public Types inherited from deObject
using Ref = deTObjectReference< deObject >
 Type holding strong reference.
 

Public Member Functions

Management
deResourceManagerGetResourceManager () const
 Resource manager or NULL if resource is leaking.
 
deEngineGetEngine () const
 Game engine object from resource manager.
 
Resource manager linked list
decTLinkedList< deResource >::Element & GetLLManager ()
 Resource manager linked list.
 
const decTLinkedList< deResource >::Element & GetLLManager () const
 
void MarkLeaking ()
 Marks the resource leaking.
 
- Public Member Functions inherited from deObject
int GetRefCount () const
 Reference count.
 
void AddReference ()
 Add reference increasing reference count by 1.
 
void FreeReference ()
 Decrease reference count by one and delete object if count reaches 0.
 
cWeakRefDataAddWeakReference ()
 Add weak reference.
 
 deObject ()
 Create object with reference count of 1.
 

Constructors and Destructors

 deResource (deResourceManager *resourceManager)
 Create resource.
 
 ~deResource () override
 Clean up resource.
 

Additional Inherited Members

- Protected Member Functions inherited from deObject
virtual ~deObject ()
 Clean up object.
 

Detailed Description

Base resource class.

Provides the basic class for all resources. Each resource is assigned the resource manager it originates from and a reference count. If you want to add a reference to this resource do so using the AddReference function. If you want to free the reference you have added before use the FreeReference function and do not call 'delete' on the resource. Once you receive as resource manager subclass the RemoveResource call you have to use 'delete' to dispose of the resource and only then.

Member Typedef Documentation

◆ Ref

Type holding strong reference.

Constructor & Destructor Documentation

◆ deResource()

deResource::deResource ( deResourceManager resourceManager)

Create resource.

◆ ~deResource()

deResource::~deResource ( )
overrideprotected

Clean up resource.

Note
Subclasses should set their destructor protected too to avoid users accidently deleting a reference counted object through the object pointer. Only FreeReference() is allowed to delete the object.

Member Function Documentation

◆ GetEngine()

deEngine * deResource::GetEngine ( ) const

Game engine object from resource manager.

Exceptions
deeInvalidActionif resource is leaking and has no resource manager anymore.

◆ GetLLManager() [1/2]

decTLinkedList< deResource >::Element & deResource::GetLLManager ( )
inline

Resource manager linked list.

◆ GetLLManager() [2/2]

const decTLinkedList< deResource >::Element & deResource::GetLLManager ( ) const
inline

◆ GetResourceManager()

deResourceManager * deResource::GetResourceManager ( ) const
inline

Resource manager or NULL if resource is leaking.

◆ MarkLeaking()

void deResource::MarkLeaking ( )

Marks the resource leaking.

Warning
For use by resource managers only.

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