summaryrefslogtreecommitdiff
path: root/engine-ocean/Game/Application.h
blob: da592ff62555319f1f5654b467f200c14fa06fa1 (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
37
38
39
40
#ifndef APPLICATION_H
#define APPLICATION_H

#include "Game/gameplayscreen.h"
#include "Game/screen.h"
#include "Graphics/global.h"

#include <GLFW/glfw3.h>


class Application
{
public:
    Application();
    void update(double deltaTime);
    void draw();
    void keyEvent(int key, int action);
    void mousePosEvent(double xpos, double ypos);
    void mouseButtonEvent(int button, int action);
    void scrollEvent(double distance);
    void windowResizeEvent(int width, int height);
    void framebufferResizeEvent(int width, int height);

private:

    void createKeyInput(int inputVal);
    void inactivateOtherKeys(int keyVal);

//    Screen activeScreen;
//    Screen *game;
//    Screen *menu;
    std::shared_ptr<Screen> activeScreen;
    std::shared_ptr<Screen> game;
    std::shared_ptr<Screen> menu;

    std::map<int, Input> m_input_map;
};


#endif // APPLICATION_H