3 #include "sequence_trigger.h"
6 #include "lisp/writer.h"
8 SequenceTrigger::SequenceTrigger(const lisp::Lisp& reader)
10 reader.get("x", bbox.p1.x);
11 reader.get("y", bbox.p1.y);
13 reader.get("width", w);
14 reader.get("height", h);
16 reader.get("sequence", sequence_name);
19 SequenceTrigger::SequenceTrigger(const Vector& pos, const std::string& sequence)
22 bbox.set_size(32, 32);
23 sequence_name = sequence;
24 triggerevent = EVENT_TOUCH;
27 SequenceTrigger::~SequenceTrigger()
32 SequenceTrigger::write(lisp::Writer& writer)
34 writer.start_list("sequencetrigger");
36 writer.write_float("x", bbox.p1.x);
37 writer.write_float("y", bbox.p1.y);
38 writer.write_float("width", bbox.get_width());
39 writer.write_float("height", bbox.get_height());
40 writer.write_string("sequence", sequence_name);
42 writer.end_list("sequencetrigger");
46 SequenceTrigger::event(Player& , EventType type)
48 if(type == triggerevent) {
49 GameSession::current()->start_sequence(sequence_name);