diff options
Diffstat (limited to 'engines/pink/objects/handlers/handler.cpp')
-rw-r--r-- | engines/pink/objects/handlers/handler.cpp | 55 |
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 |