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
VSubState Class Reference

A different kind of state class that would update and render over the top of the main state. Good for pause screens, menus, battle screens and even GUI. More...

#include <VState.h>

Inheritance diagram for VSubState:
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

 VSubState (sf::Color colour=sf::Color::Transparent)
 
void Close ()
 Closes the substate.
 
void SetFillColour (const sf::Color &color)
 
virtual void Initialise ()
 Initialise the substate and its contents.
 
virtual void Cleanup ()
 Destroys all content in the substate before cleaning it up.
 
virtual void HandleEvents (const sf::Event &event)
 
virtual void Update (float dt)
 
virtual void Draw (sf::RenderTarget &RenderTarget)
 
virtual void PostDraw (sf::RenderTarget &RenderTarget)
 
- 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 Destroy () override
 Removes and/or destroys all objects inside the group before destroying extra data. (If an object is referenced in another VGroup, the object won't be destroyed)
 
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

std::function< void()> OnClose = nullptr
 Callback function that can be called when VState::CloseSubState is called.
 
VStateParentState = nullptr
 The VState object that the substate has been opened from.
 
bool UseParentCamera = false
 If true, the substate's transform is based on the parent state's camera.
 
VTimeManagerTimeManager = nullptr
 Local TimeManager of the substate.
 
- 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 vertices
 The vertex data to render the colour fade.
 
- 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

A different kind of state class that would update and render over the top of the main state. Good for pause screens, menus, battle screens and even GUI.

Constructor & Destructor Documentation

◆ VSubState()

VSubState::VSubState ( sf::Color  colour = sf::Color::Transparent)
Parameters
colourThe background colour of the substate.

Member Function Documentation

◆ Draw()

virtual void VSubState::Draw ( sf::RenderTarget &  RenderTarget)
virtual

Draws the substate's background and the content of the substate.

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

Reimplemented from VGroup.

◆ HandleEvents()

virtual void VSubState::HandleEvents ( const sf::Event &  event)
inlinevirtual
Parameters
eventThe current event that can be processed.

◆ PostDraw()

virtual void VSubState::PostDraw ( sf::RenderTarget &  RenderTarget)
inlinevirtual

If overridden, allows the opportunity to render objects directly to the window, instead of the scene itself.

Parameters
RenderTargetThe game's sf::RenderWindow, after the scene had been rendered and post-processed effects had been applied.

◆ SetFillColour()

void VSubState::SetFillColour ( const sf::Color &  color)
Parameters
colorThe tint colour of the substate's background.

◆ Update()

virtual void VSubState::Update ( float  dt)
virtual

Update the substate.

Parameters
dtThe delta time.

Reimplemented from VGroup.


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