Potato Engine
Loading...
Searching...
No Matches
PotatoEngine Class Reference

Global engine singleton class. More...

#include <PotatoEngine.hpp>

Public Member Functions

void LoadSubobjects ()
 Loads all subobjects and calls corresponding initializing methods.
void BeginPlay ()
 Starts gameplay.
void Resolve () noexcept
 Resolve all subobjects and perform resolving engine functionality.
IInputControllerGetInputController () const
 Gets input controller.
ITickControllerGetTickController () const
 Gets tick controller.
IHUDControllerGetHUDController () const
 Gets HUD controller.

Static Public Member Functions

static PotatoEngineGet ()
 Global access to engine object.

Protected Attributes

std::vector< IEngineSubsystem * > SubsystemStack
IInputControllerInputController
ITickControllerTickController
IHUDControllerHUDController

Detailed Description

Global engine singleton class.

This class manages the engine and engine subsystems. This class must be configured before playing the game.

Definition at line 18 of file PotatoEngine.hpp.

Member Function Documentation

◆ Get()

PotatoEngine & PotatoEngine::Get ( )
static

Global access to engine object.

Note
This class has an uppercased get method. Note that all other engine singletons have undercased get methods
Returns
Engine reference

◆ LoadSubobjects()

void PotatoEngine::LoadSubobjects ( )

Loads all subobjects and calls corresponding initializing methods.

Warning
Must be called before BeginPlay()

◆ BeginPlay()

void PotatoEngine::BeginPlay ( )

Starts gameplay.

Note
Must be called to start gameplay

◆ Resolve()

void PotatoEngine::Resolve ( )
noexcept

Resolve all subobjects and perform resolving engine functionality.

Warning
Must be called before exiting program

◆ GetInputController()

IInputController * PotatoEngine::GetInputController ( ) const

◆ GetTickController()

ITickController * PotatoEngine::GetTickController ( ) const

◆ GetHUDController()

IHUDController * PotatoEngine::GetHUDController ( ) const

Member Data Documentation

◆ SubsystemStack

std::vector<IEngineSubsystem*> PotatoEngine::SubsystemStack
protected

Definition at line 56 of file PotatoEngine.hpp.

◆ InputController

IInputController* PotatoEngine::InputController
protected

Definition at line 58 of file PotatoEngine.hpp.

◆ TickController

ITickController* PotatoEngine::TickController
protected

Definition at line 59 of file PotatoEngine.hpp.

◆ HUDController

IHUDController* PotatoEngine::HUDController
protected

Definition at line 60 of file PotatoEngine.hpp.