aboutsummaryrefslogtreecommitdiff
path: root/engines/pink/objects/handlers/handler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/pink/objects/handlers/handler.cpp')
-rw-r--r--engines/pink/objects/handlers/handler.cpp55
1 files changed, 52 insertions, 3 deletions
diff --git a/engines/pink/objects/handlers/handler.cpp b/engines/pink/objects/handlers/handler.cpp
index 8b988fb485..c5468e1b8d 100644
--- a/engines/pink/objects/handlers/handler.cpp
+++ b/engines/pink/objects/handlers/handler.cpp
@@ -51,19 +51,23 @@ void Handler::executeSideEffects(LeadActor *actor) {
}
}
+void Handler::onMessage(LeadActor *actor) {
+ executeSideEffects(actor);
+}
+
void HandlerSequences::deserialize(Archive &archive) {
Handler::deserialize(archive);
archive >> _sequences;
}
-void HandlerSequences::init(LeadActor *actor) {
- executeSideEffects(actor);
+void HandlerSequences::onMessage(LeadActor *actor) {
+ Handler::onMessage(actor);
Sequencer *sequencer = actor->getSequencer();
Sequence *sequence = sequencer->findSequence(_sequences[0]); //actually we must pick random sequence
assert(sequence);
-
sequencer->authorSequence(sequence, 0);
+
handle(sequence);
}
@@ -90,4 +94,49 @@ void HandlerStartPage::toConsole() {
}
}
+void HandlerLeftClick::toConsole() {
+ debug("HandlerLeftClick:");
+
+ debug("\tSideEffects:");
+ for (int i = 0; i < _sideEffects.size(); ++i) {
+ _sideEffects[i]->toConsole();
+ }
+
+ debug("\tConditions:");
+ for (int i = 0; i < _conditions.size(); ++i) {
+ _conditions[i]->toConsole();
+ }
+
+ debug("\tSequences:");
+ for (int i = 0; i < _sequences.size(); ++i) {
+ debug("\t\t%s", _sequences[i].c_str());
+ }
+}
+
+void HandlerUseClick::deserialize(Archive &archive) {
+ HandlerSequences::deserialize(archive);
+}
+
+void HandlerUseClick::toConsole() {
+ debug("HandlerUseClick: _inventoryItem=%s, _recepient=%s", _inventoryItem.c_str(), _recepient.c_str());
+ debug("\tSideEffects:");
+ for (int i = 0; i < _sideEffects.size(); ++i) {
+ _sideEffects[i]->toConsole();
+ }
+
+ debug("\tConditions:");
+ for (int i = 0; i < _conditions.size(); ++i) {
+ _conditions[i]->toConsole();
+ }
+
+ debug("\tSequences:");
+ for (int i = 0; i < _sequences.size(); ++i) {
+ debug("\t\t%s", _sequences[i].c_str());
+ }
+}
+
+void HandlerUseClick::handle(Sequence *sequence) {
+
+}
+
} // End of namespace Pink