SimpleEngine/include/simpleengine/game.h

46 lines
1.1 KiB
C
Raw Normal View History

//
// Created by SeanOMik on 7/2/2020.
// Github: https://github.com/SeanOMik
//
#ifndef SIMPLEENGINE_GAME_H
#define SIMPLEENGINE_GAME_H
2021-11-20 05:48:47 +00:00
#include <string>
#include <memory>
2021-11-20 05:48:47 +00:00
#include <gl/glew.h>
#include <GLFW/glfw3.h>
2020-07-03 20:26:44 +00:00
namespace simpleengine {
class Game {
public:
friend class CollisionHandler;
2021-11-20 05:48:47 +00:00
/**
* @brief Construct a new Game object. Initializes GLEW and OpenGL
*
* @param w Width of viewport
* @param h Height of viewport
* @param window_name The name of the window
*/
Game(int w, int h, const std::string& window_name, const bool& resizeable = false);
virtual ~Game();
2021-11-20 05:48:47 +00:00
void update();
void render_window();
void render_items();
void exit();
int run();
2021-03-13 03:01:33 +00:00
2021-11-20 05:48:47 +00:00
//void AddEvent(Event* event);
std::shared_ptr<GLFWwindow> get_window();
private:
2021-11-20 05:48:47 +00:00
static void framebuffer_resize_callback(GLFWwindow*, int fbW, int fbH);
2021-11-20 05:48:47 +00:00
std::shared_ptr<GLFWwindow> window;
};
}
#endif //GAMEENGINE_GAME_H