aboutsummaryrefslogtreecommitdiff
path: root/engines/pink/page.cpp
diff options
context:
space:
mode:
authorwhitertandrek2018-03-19 10:43:49 +0200
committerEugene Sandulenko2018-06-28 23:51:32 +0200
commit3e2106a1c087b2c27f961ce918ad6459670b99fa (patch)
tree38704c7c5129669a9b32308d9013d41d116eb9f2 /engines/pink/page.cpp
parent62f84eae96625e778aae63e75b399a50b16363e8 (diff)
downloadscummvm-rg350-3e2106a1c087b2c27f961ce918ad6459670b99fa.tar.gz
scummvm-rg350-3e2106a1c087b2c27f961ce918ad6459670b99fa.tar.bz2
scummvm-rg350-3e2106a1c087b2c27f961ce918ad6459670b99fa.zip
PINK: Added more Handler methods
Diffstat (limited to 'engines/pink/page.cpp')
-rw-r--r--engines/pink/page.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/engines/pink/page.cpp b/engines/pink/page.cpp
index cfc78c8974..77e3bb3c06 100644
--- a/engines/pink/page.cpp
+++ b/engines/pink/page.cpp
@@ -21,6 +21,8 @@
*/
#include <engines/pink/walk/walk_mgr.h>
+#include <engines/pink/handlers/handler.h>
+#include <engines/pink/handlers/handler_sequences.h>
#include "page.h"
#include "cursor_mgr.h"
#include "actors/lead_actor.h"
@@ -60,18 +62,26 @@ void GamePage::load(Archive &archive) {
void GamePage::init(bool isLoadingSave) {
if (!isLoadingSave){
//assert(perhapsIsLoaded == 0);
- loadFields();
+ loadManagers();
}
//init actor which inits actions
if (!isLoadingSave) {
+ for (int i = 0; i < _handlers.size(); ++i) {
+ if (_handlers[i]->initConditions(_leadActor)){
+ HandlerSequences *handlerSequences = dynamic_cast<HandlerSequences*>(_handlers[i]);
+ assert(handlerSequences);
+ handlerSequences->initSequence(_leadActor);
+ break;
+ }
+ }
}
}
-void GamePage::loadFields() {
+void GamePage::loadManagers() {
perhapsIsLoaded = true;
_cursorMgr = new CursorMgr(this);
_walkMgr = new WalkMgr;
@@ -87,5 +97,8 @@ PinkEngine *GamePage::getGame() {
return _module->getGame();
}
+Sequencer *GamePage::getSequencer() {
+ return _sequencer;
+}
} // End of namespace Pink