3 #include "secretarea_trigger.h"
4 #include "utils/lispwriter.h"
9 SecretAreaTrigger::SecretAreaTrigger(LispReader& reader)
11 reader.read_float("x", bbox.p1.x);
12 reader.read_float("y", bbox.p1.y);
13 bbox.set_size(32, 32);
15 reader.read_string("message", message);
18 SecretAreaTrigger::SecretAreaTrigger(const Vector& pos)
21 bbox.set_size(32, 32);
22 message = "You found a secret area!";
25 SecretAreaTrigger::~SecretAreaTrigger()
30 SecretAreaTrigger::write(LispWriter& writer)
32 writer.start_list("secretarea");
34 writer.write_float("x", bbox.p1.x);
35 writer.write_float("y", bbox.p1.y);
36 writer.write_float("width", bbox.get_width());
37 writer.write_float("height", bbox.get_height());
38 writer.write_string("message", message);
40 writer.end_list("secretarea");
44 SecretAreaTrigger::draw(DrawingContext& context)
46 if (message_timer.started()) {
47 Vector pos = Vector(0, screen->h/2 - gold_text->get_height()/2);
48 context.draw_center_text(gold_text, message, pos, LAYER_GUI);
49 //TODO: Prevent text from scrolling with the rest of the level
51 if (message_timer.check()) {
57 SecretAreaTrigger::event(Player& , EventType type)
59 if(type == EVENT_TOUCH) {
60 message_timer.start(MESSAGE_TIME);