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

Processes the game's current scene as well as 2D cameras and substates. More...

#include <VState.h>

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

void OpenSubState (VSubState *subState)
 
void CloseSubState ()
 Close a current substate.
 
void ResetSubState ()
 Handles the opening and closing of substates.
 
virtual void Initialise ()
 Initialises new state and sets up the default camera, first function called before changing states.
 
virtual void Cleanup ()
 Cleanup state data, last function called before destruction of state.
 
virtual void Pause ()
 Function called when pausing state (when pushing a new state onto VStateManager).
 
virtual void Resume ()
 Function called when resuming state (after higher stake is poped from the VStateManager).
 
virtual void HandleEvents (const sf::Event &event)
 
virtual void Update (float dt)
 
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.
 
virtual void Draw (sf::RenderTarget &RenderTarget) override
 

Public Attributes

std::vector< VCamera * > Cameras
 List of cameras to use.
 
VCameraDefaultCamera = nullptr
 Pointer to first camera in array.
 
VSubStateSubState = nullptr
 Substate of main state.
 
VTimeManagerTimeManager = nullptr
 Local TimeManager of the main state (Useful if you want timers that are exclusively controlled by a specific state).
 
- 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.
 

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 ()
 
- 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.
 

Detailed Description

Processes the game's current scene as well as 2D cameras and substates.

Member Function Documentation

◆ HandleEvents()

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

◆ OpenSubState()

void VState::OpenSubState ( VSubState subState)
Parameters
subStateThe VSubState to open.

◆ PostDraw()

virtual void VState::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.

◆ Update()

virtual void VState::Update ( float  dt)
virtual

Update the state.

Parameters
dtThe delta time.

Reimplemented from VGroup.


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