Vigilante Game Framework  1.0.0.8
A 2D/3D C++ Game Framework using SFML.
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
VRenderLayer Class Reference

Processes group of objects to a sprite. Unlike the VRenderGroup, the sprite cannot be moved and will always render to the size of the screen. More...

#include <VRenderLayer.h>

Inheritance diagram for VRenderLayer:
VGroup VBase

Public Types

typedef VGroup VSUPERCLASS
 Used to call parent class functions when they are overrided in class.
 
- Public Types inherited from VGroup
typedef VBase VSUPERCLASS
 Used to call parent class functions when they are overrided in class.
 

Public Member Functions

 VRenderLayer (unsigned int maxSize=0)
 
void SetTint (const sf::Color &tint)
 
const sf::Color & GetTint ()
 
virtual const sf::Texture & GetTexture ()
 
virtual void Destroy () override
 Removes and/or destroys all objects inside the group and sprite before destroying extra data. (If an object is referenced in another VGroup, the object won't be destroyed)
 
virtual void Update (float dt) override
 
virtual void Draw (sf::RenderTarget &RenderTarget) override
 
- Public Member Functions inherited from VGroup
 VGroup (unsigned int maxSize=0)
 
int Length ()
 
VBaseAdd (VBase *object)
 
VBaseRemove (VBase *object, bool splice=false)
 
VBaseFirstAvailable ()
 
int FirstNULL ()
 
VBaseFirstExisting ()
 
VBaseFirstAlive ()
 
VBaseFirstDead ()
 
int CountAlive (bool Recursive=false)
 
int CountDead (bool Recursive=false)
 
VBaseGetRandom (int min=0, int max=0)
 
void ForEach (std::function< void(VBase *)> function, bool recursive=false)
 
void ForEachAlive (std::function< void(VBase *)> function, bool recursive=false)
 
void ForEachDead (std::function< void(VBase *)> function, bool recursive=false)
 
void ForEachExists (std::function< void(VBase *)> function, bool recursive=false)
 
VBaseGetGroupItem (int index)
 
template<class T >
T * GetGroupItemAsType (int index)
 
int GetIndexOfItem (VBase *object)
 
void OrganiseNULLS ()
 Sort nullptr members to the bottom of the group.
 
void Swap (int a, int b)
 
void Sort (std::function< bool(VBase *, VBase *)> func)
 
void Reverse ()
 Reverse order of group.
 
void Clear ()
 Clears the whole group (does not destroy any of the members, that must be done using the Destroy method).
 
virtual void Kill () override
 Kills all living objects before killing the group itself.
 
virtual void Revive () override
 Revives all dead objects before reviving the group itself.
 

Public Attributes

sf::RenderStates RenderState
 RenderState for the layer.
 
std::unique_ptr< VPostEffectBasePostEffect = nullptr
 Post Effect to apply to the layer.
 
- Public Attributes inherited from VBase
bool active = true
 Base can be updated using Update if true.
 
bool visible = true
 Base can be rendered using Draw if true.
 
bool alive = true
 Helper member that is mainly used filter out behaviours to objects which aren't alive in the scene.
 
bool exists = true
 Base can be updated and rendered if true, else it would no longer be treated as being part of the scene.
 
VType type = NONE
 Base object type, typically set in the constructor of an inherited object to specify what type it is.
 
uint32_t RefCount = 0
 Counts the amount of times the object is referenced in groups, ensures an object is only destroyed when no longer part of a single group.
 

Protected Attributes

sf::VertexArray vertexArray
 The render and transform infomation of the layer.
 
sf::RenderTexture renderTex
 The sf::RenderTexture to render all the objects to.
 
sf::RenderTexture postProcessTex
 Another sf::RenderTexture for outputting the post process effect onto.
 
- Protected Attributes inherited from VGroup
std::vector< VBase * > members
 VBase List.
 
int length = 0
 Current amount of members in the list.
 
unsigned int MaxSize = 0
 Maximum Size of the list, used if VGroup is set to have a fixed size.
 

Additional Inherited Members

- Static Public Member Functions inherited from VBase
static const wchar_t * VString (const char *fmt,...)
 
static void VLog (const char *fmt,...)
 
static void VLogError (const char *fmt,...)
 
static void VClearLog ()
 

Detailed Description

Processes group of objects to a sprite. Unlike the VRenderGroup, the sprite cannot be moved and will always render to the size of the screen.

Constructor & Destructor Documentation

◆ VRenderLayer()

VRenderLayer::VRenderLayer ( unsigned int  maxSize = 0)
Parameters
maxSizeThe fixed size of the layer. 0 assumes the size is not fixed.

Member Function Documentation

◆ Draw()

virtual void VRenderLayer::Draw ( sf::RenderTarget &  RenderTarget)
overridevirtual

Renders all alive and visible objects in the group.

Parameters
RenderTargetThe game's sf::RenderTarget object to render data onto.

Reimplemented from VGroup.

◆ GetTexture()

virtual const sf::Texture& VRenderLayer::GetTexture ( )
virtual
Returns
The sprite's texture after the scene is rendered to it.

◆ GetTint()

const sf::Color& VRenderLayer::GetTint ( )
Returns
The tint of the RenderLayer (sf::Color::White as default).

◆ SetTint()

void VRenderLayer::SetTint ( const sf::Color &  tint)
Parameters
tintThe colour to set the RenderLayer.

◆ Update()

virtual void VRenderLayer::Update ( float  dt)
overridevirtual

Updates all alive and active objects in the group.

Parameters
dtDelta Time between the previous and current frame.

Reimplemented from VGroup.


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