| 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
NonCopyable & | operator= (const NonCopyable &)=delete
NonCopyable & | operator= (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
World * | m_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::Game * | m_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:

- FlingEngine/Core/inc/Engine.h
- FlingEngine/Core/src/Engine.cpp