diff options
author | whiterandrek | 2018-05-13 13:06:16 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2018-06-28 23:51:32 +0200 |
commit | ab4980aa59ffafcf54c1f791d9619ad317dda7a7 (patch) | |
tree | ddca97c7ec65f64c279a96c084323cfb74ccb732 /engines | |
parent | cdcb8f5ec61b1cb63113d2e78804dc80ddf210c4 (diff) | |
download | scummvm-rg350-ab4980aa59ffafcf54c1f791d9619ad317dda7a7.tar.gz scummvm-rg350-ab4980aa59ffafcf54c1f791d9619ad317dda7a7.tar.bz2 scummvm-rg350-ab4980aa59ffafcf54c1f791d9619ad317dda7a7.zip |
PINK: added basic implementation of HandlerTimerSequences just to make Hokus Pokus playable after Black Hole
Diffstat (limited to 'engines')
-rw-r--r-- | engines/pink/objects/handlers/handler_timer.cpp | 15 | ||||
-rw-r--r-- | engines/pink/objects/handlers/handler_timer.h | 11 |
2 files changed, 22 insertions, 4 deletions
diff --git a/engines/pink/objects/handlers/handler_timer.cpp b/engines/pink/objects/handlers/handler_timer.cpp index 757790ea64..b0bfb90918 100644 --- a/engines/pink/objects/handlers/handler_timer.cpp +++ b/engines/pink/objects/handlers/handler_timer.cpp @@ -29,6 +29,7 @@ #include <engines/pink/objects/condition.h> #include <engines/pink/objects/actors/lead_actor.h> #include <engines/pink/objects/pages/game_page.h> +#include <engines/pink/objects/sequences/sequencer.h> #include <engines/pink/pink.h> @@ -94,4 +95,18 @@ void HandlerTimerSequences::toConsole() { } } +void HandlerTimerSequences::handle(Actor *actor) { + Handler::handle(actor); + Sequencer *sequencer = actor->getSequencer(); + + assert(!_sequences.empty()); + + Common::RandomSource &rnd = actor->getPage()->getGame()->getRnd(); + uint index = rnd.getRandomNumber(_sequences.size() - 1); + + Sequence *sequence = sequencer->findSequence(_sequences[index]); + + assert(sequence); +} + } // End of namespace Pink
\ No newline at end of file diff --git a/engines/pink/objects/handlers/handler_timer.h b/engines/pink/objects/handlers/handler_timer.h index 540c7dcc6c..3f5458296f 100644 --- a/engines/pink/objects/handlers/handler_timer.h +++ b/engines/pink/objects/handlers/handler_timer.h @@ -30,15 +30,15 @@ namespace Pink { class LeadActor; -//TODO: in Peril create HandlerTimerActions when it is request for HandlerTimer - +/* // This class has differences in games class HandlerTimer : public Handler { }; +*/ //in Peril this is HandlerTimer -class HandlerTimerActions : public HandlerTimer { +class HandlerTimerActions : public Handler { public: virtual void toConsole(); virtual void deserialize(Archive &archive); @@ -52,8 +52,11 @@ private: class HandlerTimerSequences : public HandlerSequences { //originally it was inherited from HandlerTimer public: virtual void toConsole(); + + virtual void handle(Actor *actor); + protected: - virtual void execute(Sequence *sequence); // very big and hard function + virtual void execute(Sequence *sequence); }; } // End of namespace Pink |