-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLevelEnd.cpp
38 lines (36 loc) · 1.08 KB
/
LevelEnd.cpp
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
#include "LevelEnd.h"
#include "LevelManager.h"
#include "WorldManager.h"
#include "EventCollision.h"
#include "EventView.h"
#include "EventLevel.h"
LevelEnd::LevelEnd(df::Vector pos, df::Vector next_player_pos) {
setType("LevelEnd");
setSprite("LevelEnd");
setSolidness(df::SOFT);
setAltitude(3);
setPosition(pos);
player_pos = next_player_pos;
active = true;
}
LevelEnd::~LevelEnd() {
}
int LevelEnd::eventHandler(const df::Event* p_e) {
if (p_e->getType()==df::COLLISION_EVENT) {
const df::EventCollision* p_collision_event = dynamic_cast <df::EventCollision const*> (p_e);
if (active && ((p_collision_event->getObject1()->getType() == "Player") || (p_collision_event->getObject2()->getType() == "Player"))){
active = false;
if (2 != levelM.nextLevel()) {
printf("moving to position x: %f, y: %f", player_pos.getX(), player_pos.getY());
p.setPosition(player_pos);
printf("%f", p.getPosition().getX());
printf("%f", p.getPosition().getY());
//p.setActive(false);
df::EventView ev("Level", 1, true);
WM.onEvent(&ev);
}
}
return 1;
}
return 0;
}