From 8add3c9619554142e69e1cfd04e4a27a9efa7b1e Mon Sep 17 00:00:00 2001 From: Alfred Burgess <aburgess@ucc.gu.uwa.edu.au> Date: Thu, 7 Dec 2023 13:41:08 +0800 Subject: [PATCH] Expanded game engine and created scene --- include/game-engine.h | 20 +++++++++++++++++++- include/scene.h | 14 ++++++++++++++ src/Scene.cpp | 8 ++++++++ src/game-engine.cpp | 16 +++++++++++++++- 4 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 include/scene.h create mode 100644 src/Scene.cpp diff --git a/include/game-engine.h b/include/game-engine.h index e66e601..d8f4e77 100644 --- a/include/game-engine.h +++ b/include/game-engine.h @@ -1,8 +1,13 @@ #ifndef __GAME_H__ #define __GAME_H__ +#include <map> +#include <string> +#include <vector> + #include "logger.h" #include "entity-manager.h" +#include "scene.h" class GameEngine { @@ -10,15 +15,28 @@ class GameEngine GameEngine(); ~GameEngine(); void init(); + void run(); void update(); + void close(); + Scene currentScene(); + void changeScene( Scene scene ); + // std::vector< Asset& > getAssets(); + // Window& getWindow(); + bool isRunning; private: EntityManager _entityManager; Logger& _logger; + std::string _currScene; + void changeScene( Scene scene ); + // Window* _window; + // std::vector<Asset> _assets; + std::map< std::string, Scene > _scenes; - // Systems + /* Systems */ + // sUserInput }; #endif // __GAME_H__ diff --git a/include/scene.h b/include/scene.h new file mode 100644 index 0000000..149f98d --- /dev/null +++ b/include/scene.h @@ -0,0 +1,14 @@ +#ifndef __SCENE_H__ +#define __SCENE_H__ + +#include "logger.h" + +class Scene{ + public: + Scene(); + ~Scene(); + private: + Logger& _logger; +}; + +#endif // __SCENE_H__ diff --git a/src/Scene.cpp b/src/Scene.cpp new file mode 100644 index 0000000..3d38a18 --- /dev/null +++ b/src/Scene.cpp @@ -0,0 +1,8 @@ +#include "scene.h" + + +Scene::Scene() + : _logger( Logger::instance() ) +{ this->_logger.info( "Creating new Scene" ); } +Scene::~Scene() + { this->_logger.info( "Deleting Scene" ); } diff --git a/src/game-engine.cpp b/src/game-engine.cpp index 806836f..ea8cbdc 100644 --- a/src/game-engine.cpp +++ b/src/game-engine.cpp @@ -10,7 +10,21 @@ GameEngine::~GameEngine() { this->_logger.info( "Cleaning GameEngine Object" ); } -void GameEngine::init(){} +void GameEngine::close(){} +void GameEngine::init() +{ + this->isRunning = false; + this->_currScene = ""; +} +void GameEngine::changeScene( Scene scene ){} +Scene* GameEngine::currentScene() +{ + return nullptr; +} +void GameEngine::run() +{ + this->isRunning = true; +} void GameEngine::update() { this->_entityManager.update(); -- GitLab