Sly Engine
Drawable Class Referenceabstract

#include <Drawable.h>

Inheritance diagram for Drawable:
Inheritance graph
Collaboration diagram for Drawable:
Collaboration graph

Public Member Functions

 Drawable ()
 Default constructor. More...
 
 Drawable (const Drawable &)=delete
 Copy constructor. More...
 
 Drawable (Drawable &&)=delete
 Move constructor. More...
 
Drawableoperator= (const Drawable &)=delete
 Assignment operator. More...
 
Drawableoperator= (Drawable &&)=delete
 Move assignment operator. More...
 
virtual ~Drawable ()
 Deconstructor. More...
 

Protected Member Functions

void SubmitDrawRegistration ()
 Submit draw registration. More...
 
void SubmitDrawDeregistration ()
 Submit draw deregistration. More...
 

Private Member Functions

DrawableManager::StorageListRef GetStorageRef ()
 Gets storage reference. More...
 
virtual void Draw ()=0
 Pure virtual function draw. Derived objects must override. More...
 
virtual void Draw2D ()
 Function to draw 2D sprites. More...
 
void SceneRegistration ()
 Scene registration. More...
 
void SceneDeregistration ()
 Scene deregistration. More...
 

Static Private Member Functions

static void ForcedSceneDeregistration (Drawable *theObject)
 Forced scene deregistration. More...
 

Private Attributes

RegistrationState RegStateCurr
 The register state curr. More...
 
DrawableManager::StorageListRef pMyDeleteRef
 my delete reference More...
 
DrawableRegistrationCommandpRegistrationCmd
 The registration command. More...
 
DrawableDeregistrationCommandpDeregistrationCmd
 The deregistration command. More...
 

Friends

class DrawableAttorney
 
class SceneAttorney
 

Constructor & Destructor Documentation

◆ Drawable() [1/3]

Drawable::Drawable ( )

Default constructor.

◆ Drawable() [2/3]

Drawable::Drawable ( const Drawable )
delete

Copy constructor.

◆ Drawable() [3/3]

Drawable::Drawable ( Drawable &&  )
delete

Move constructor.

◆ ~Drawable()

Drawable::~Drawable ( )
virtual

Deconstructor.

Member Function Documentation

◆ Draw()

void Drawable::Draw ( )
privatepure virtual

Pure virtual function draw. Derived objects must override.

Implemented in TerrainObject, ParticleEmitter, and SkyBox.

Here is the caller graph for this function:

◆ Draw2D()

void Drawable::Draw2D ( )
inlineprivatevirtual

Function to draw 2D sprites.

The purpose of Draw2D is to draw 2D sprites AFTER 3D objects. This ensures that the sprites are always drawn on top of 3D objects. This function is not a pure virtual function as not all GameObjects may need to Draw a sprite.

Here is the caller graph for this function:

◆ ForcedSceneDeregistration()

void Drawable::ForcedSceneDeregistration ( Drawable theObject)
staticprivate

Forced scene deregistration.

This is a forced deregistration of assets that are managed internally. When a scene ends, managed assets must request a deregistration or else they will be unable to register for draw as they will lose their associated registration broker within the same frame. Thus, this bypasses the standard registration.

This function is to only be called internally.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetStorageRef()

DrawableManager::StorageListRef Drawable::GetStorageRef ( )
private

Gets storage reference.

Returns
The storage reference.
Here is the caller graph for this function:

◆ operator=() [1/2]

Drawable& Drawable::operator= ( const Drawable )
delete

Assignment operator.

◆ operator=() [2/2]

Drawable& Drawable::operator= ( Drawable &&  )
delete

Move assignment operator.

◆ SceneDeregistration()

void Drawable::SceneDeregistration ( )
private

Scene deregistration.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SceneRegistration()

void Drawable::SceneRegistration ( )
private

Scene registration.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SubmitDrawDeregistration()

void Drawable::SubmitDrawDeregistration ( )
protected

Submit draw deregistration.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SubmitDrawRegistration()

void Drawable::SubmitDrawRegistration ( )
protected

Submit draw registration.

Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Function Documentation

◆ DrawableAttorney

friend class DrawableAttorney
friend

◆ SceneAttorney

friend class SceneAttorney
friend

Member Data Documentation

◆ pDeregistrationCmd

DrawableDeregistrationCommand* Drawable::pDeregistrationCmd
private

The deregistration command.

◆ pMyDeleteRef

DrawableManager::StorageListRef Drawable::pMyDeleteRef
private

my delete reference

◆ pRegistrationCmd

DrawableRegistrationCommand* Drawable::pRegistrationCmd
private

The registration command.

◆ RegStateCurr

RegistrationState Drawable::RegStateCurr
private

The register state curr.


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