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,
17 const std::string& secretarea)
20 bbox.set_size(32, 32);
21 message = "You found a secret area!";
24 SecretAreaTrigger::~SecretAreaTrigger()
29 SecretAreaTrigger::write(LispWriter& writer)
31 writer.start_list("secretarea");
33 writer.write_float("x", bbox.p1.x);
34 writer.write_float("y", bbox.p1.y);
35 writer.write_float("width", bbox.get_width());
36 writer.write_float("height", bbox.get_height());
37 writer.write_string("message", message);
39 writer.end_list("secretarea");
43 SecretAreaTrigger::draw(DrawingContext& context)
45 if (message_timer.started()) {
46 Vector pos = Vector(0, screen->h/2 - gold_text->get_height()/2);
47 context.draw_center_text(gold_text, message, pos, LAYER_GUI);
48 //TODO: Prevent text from scrolling with the rest of the level
50 if (message_timer.check()) {
56 SecretAreaTrigger::event(Player& , EventType type)
58 if(type == EVENT_TOUCH) {
59 message_timer.start(MESSAGE_TIME);