aboutsummaryrefslogtreecommitdiff
path: root/mwe/events/include/loopManager.h
blob: 9959c94a7eed25e3477a44fc35289cfcd6f4ab07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#pragma once
#include "timer.h"
#include "window.h"
#include <SDL2/SDL.h>
//#include "combinedEvent.h"
#include "eventHandler.h"
#include "eventManager.h"
#include "inputSystem.h"
#include "loopManager.h"
#include "uiObject.h"
#include "uiRenderer.h"
#include <memory>
class LoopManager {
public:
	LoopManager();
	void setup();
	void loop();
	void setRunning(bool running);

private:
	void processInput();
	void update();
	void lateUpdate();
	void fixedUpdate();
	void render();
	void onShutdown(const ShutDownEvent & e);
	bool gameRunning = false;
	WindowManager window;
	int timeScale = 1;
	float accumulator = 0.0;
	double currentTime;
	double t = 0.0;
	double dt = 0.01;
	std::unique_ptr<InputSystem> inputSystem;
	EventHandler<ShutDownEvent> shutdownHandler;
};