Fling Engine  0.00.1
Fling Engine is a game engine written in Vulkan
Public Member Functions | Private Member Functions | Private Attributes
Fling::Engine Class Reference

Core engine class of Fling. More...

#include <Engine.h>

Inherits Fling::NonCopyable.

Public Member Functions

FLING_API Engine ()=default
 
FLING_API ~Engine ()=default
 
template<class T_GameType >
FLING_API UINT64 Run ()
 Run the engine (Startup, Tick until should stop, and shutdown) More...
 
- Public Member Functions inherited from Fling::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=default
 
NonCopyableoperator= (const NonCopyable &)=delete
 
NonCopyableoperator= (NonCopyable &&)=default
 

Private Member Functions

void Startup ()
 Start any systems or subsystems that may be needed More...
 
void Tick ()
 Initial tick for the engine frame More...
 
void Shutdown ()
 Shutdown all engine systems and do any necessary cleanup More...
 

Private Attributes

Worldm_World = nullptr
 Persistent world object that can be used to load levels, entities, etc. More...
 
entt::registry g_Registry
 Global registry that stores entities and components. More...
 
Fling::Gamem_GameImpl = nullptr
 The implementation of the game that this engine is running. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Fling::NonCopyable
 NonCopyable ()=default
 
virtual ~NonCopyable ()=default
 

Detailed Description

Core engine class of Fling.

This is where the core update loop lives along with all startup/shutdown ordering.

Constructor & Destructor Documentation

◆ Engine()

FLING_API Fling::Engine::Engine ( )
default

◆ ~Engine()

FLING_API Fling::Engine::~Engine ( )
default

Member Function Documentation

◆ Run()

template<class T_GameType >
FLING_API UINT64 Fling::Engine::Run ( )

Run the engine (Startup, Tick until should stop, and shutdown)

Returns
UINT64 0 for success, otherwise an error has occured

◆ Shutdown()

void Fling::Engine::Shutdown ( )
private

Shutdown all engine systems and do any necessary cleanup

◆ Startup()

void Fling::Engine::Startup ( )
private

Start any systems or subsystems that may be needed

◆ Tick()

void Fling::Engine::Tick ( )
private

Initial tick for the engine frame

Field Documentation

◆ g_Registry

entt::registry Fling::Engine::g_Registry
private

Global registry that stores entities and components.

◆ m_GameImpl

Fling::Game* Fling::Engine::m_GameImpl = nullptr
private

The implementation of the game that this engine is running.

See also
Fling::Game

◆ m_World

World* Fling::Engine::m_World = nullptr
private

Persistent world object that can be used to load levels, entities, etc.


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