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