From c3a7658120c9bb396bde01bed2bcec938fef1f10 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Tue, 12 Jun 2018 06:45:47 +0100 Subject: Making functions return themselves This is so that the functions can be chained together --- yage/entity/engine.cpp | 10 +++++++--- yage/entity/engine.h | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/yage/entity/engine.cpp b/yage/entity/engine.cpp index 1cef4504..73774093 100644 --- a/yage/entity/engine.cpp +++ b/yage/entity/engine.cpp @@ -21,13 +21,14 @@ Engine::~Engine() quit(); } -void Engine::init() +Engine &Engine::init() { yage::init(); window_.create("Game Engine", 800, 640); + return *this; } -void Engine::mainLoop() +Engine &Engine::mainLoop() { while (!window_.shouldClose()) { window_.pollEvents(); @@ -37,6 +38,8 @@ void Engine::mainLoop() window_.swapBuffer(); } + + return *this; } void Engine::update() @@ -46,9 +49,10 @@ void Engine::update() } } -void Engine::addSpace(std::unique_ptr space) +Engine &Engine::addSpace(std::unique_ptr space) { spaces_.push_back(std::move(space)); + return *this; } Engine &Engine::instance() diff --git a/yage/entity/engine.h b/yage/entity/engine.h index 9a1f6d2b..6719eeaf 100644 --- a/yage/entity/engine.h +++ b/yage/entity/engine.h @@ -32,16 +32,16 @@ public: ~Engine(); /// Initialize window and other aspects of the engine. - void init(); + Engine &init(); /// Main game loop of the engine. - void mainLoop(); + Engine &mainLoop(); /// Updates the systems. void update(); /// Add spaces to the engine - void addSpace(std::unique_ptr space); + Engine &addSpace(std::unique_ptr space); /// Returns the instance of the engine, as there is only one instance of the /// engine. -- cgit