-
Notifications
You must be signed in to change notification settings - Fork 0
/
GameModule.hpp
53 lines (39 loc) · 1.21 KB
/
GameModule.hpp
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
41
42
43
44
45
46
47
48
49
50
51
52
53
#ifndef GAMEMODULE_HPP
#define GAMEMODULE_HPP
#include "Module.hpp"
#include "GameStuff.hpp"
#include <utility>
using std::pair;
using std::make_pair;
class GameModule : public Module {
public:
GameModule() {
in_control.name = "cont";
out_control.name = "cont";
status.name = "status";
in_ports.push_back(&in_control);
out_ports.push_back(&out_control);
out_ports.push_back(&status);
in_control.position = make_vector(-0.25f, 0.0f);
out_control.position = make_vector( 0.25f, 3.0f / 4.0f -0.5f);
status.position = make_vector( 0.25f, 1.0f / 4.0f -0.5f);
flip_timer = 0.0f;
spawn();
}
virtual ~GameModule() {
}
//Item functions:
virtual Vector2f size();
virtual void draw(Box2f viewport, Box2f screen_viewport, float scale, unsigned int recurse = 0);
//Module functions:
virtual void update(float elapsed_time);
virtual bool handle_event(SDL_Event const &event, Vector2f local_mouse);
private:
void spawn(); //spawn player
PortDataContainer< Game2d::Control > in_control;
PortDataContainer< Game2d::Control > out_control;
float flip_timer;
PortDataContainer< Game2d::LevelStatus > status;
PortDataContainer< Vector2f > vel; //not connected, but consistency.
};
#endif //GAMEMODULE_HPP