diff options
author | whitertandrek | 2018-03-19 14:12:36 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2018-06-28 23:51:32 +0200 |
commit | 7c4bcc033d318b3396df9f1545afcc4da3bd4bc1 (patch) | |
tree | 6a93ddb7486ce809cdd0c46e765729f4710bc41d | |
parent | d3031443647ae4830ec971866fb068be0990066f (diff) | |
download | scummvm-rg350-7c4bcc033d318b3396df9f1545afcc4da3bd4bc1.tar.gz scummvm-rg350-7c4bcc033d318b3396df9f1545afcc4da3bd4bc1.tar.bz2 scummvm-rg350-7c4bcc033d318b3396df9f1545afcc4da3bd4bc1.zip |
PINK: implemented SideEffectModuleVariable fully
-rw-r--r-- | engines/pink/actors/actor.cpp | 4 | ||||
-rw-r--r-- | engines/pink/actors/actor.h | 1 | ||||
-rw-r--r-- | engines/pink/actors/lead_actor.h | 3 | ||||
-rw-r--r-- | engines/pink/module.cpp | 4 | ||||
-rw-r--r-- | engines/pink/module.h | 7 | ||||
-rw-r--r-- | engines/pink/page.cpp | 4 | ||||
-rw-r--r-- | engines/pink/page.h | 3 | ||||
-rw-r--r-- | engines/pink/side_effects/side_effect.h | 2 | ||||
-rw-r--r-- | engines/pink/side_effects/side_effect_module_variable.cpp | 7 | ||||
-rw-r--r-- | engines/pink/side_effects/side_effect_module_variable.h | 1 |
10 files changed, 31 insertions, 5 deletions
diff --git a/engines/pink/actors/actor.cpp b/engines/pink/actors/actor.cpp index 595d8e1146..c4c9b78a23 100644 --- a/engines/pink/actors/actor.cpp +++ b/engines/pink/actors/actor.cpp @@ -47,4 +47,8 @@ Action *Actor::findAction(Common::String &name) { });; } +GamePage *Actor::getPage() const { + return _page; +} + } // End of namespace Pink diff --git a/engines/pink/actors/actor.h b/engines/pink/actors/actor.h index 033fafa281..1db59cf287 100644 --- a/engines/pink/actors/actor.h +++ b/engines/pink/actors/actor.h @@ -40,6 +40,7 @@ public: Action *findAction(Common::String &name); Sequencer *getSequencer(); + GamePage *getPage() const; protected: GamePage *_page; diff --git a/engines/pink/actors/lead_actor.h b/engines/pink/actors/lead_actor.h index 762896c03c..6152faed7f 100644 --- a/engines/pink/actors/lead_actor.h +++ b/engines/pink/actors/lead_actor.h @@ -34,7 +34,8 @@ class Sequencer; class LeadActor : public Actor { public: virtual void deserialize(Archive &archive); - void setNextExecutors(Common::String &nextModule, Common::String &nextPage); + void setNextExecutors (Common::String &nextModule, Common::String &nextPage); + private: CursorMgr *_cursorMgr; WalkMgr *_walkMgr; diff --git a/engines/pink/module.cpp b/engines/pink/module.cpp index 4b5d1363d3..28ca3549b2 100644 --- a/engines/pink/module.cpp +++ b/engines/pink/module.cpp @@ -95,6 +95,10 @@ PinkEngine *Module::getGame() const { return _game; } +Common::StringMap &Module::getMap() { + return _map; +} + } // End of namespace Pink diff --git a/engines/pink/module.h b/engines/pink/module.h index 1ec10bf988..abaf679f63 100644 --- a/engines/pink/module.h +++ b/engines/pink/module.h @@ -52,12 +52,13 @@ public: void OnMouseMove(); void OnKeyboardButtonClick(); -private: - PinkEngine *_game; -public: + Common::StringMap &getMap(); + PinkEngine *getGame() const; + private: + PinkEngine *_game; GamePage *_page; PagesArray _pages; InventoryMgr _invMgr; diff --git a/engines/pink/page.cpp b/engines/pink/page.cpp index c59e29996f..123e27be0a 100644 --- a/engines/pink/page.cpp +++ b/engines/pink/page.cpp @@ -108,4 +108,8 @@ Sequencer *GamePage::getSequencer() { return _sequencer; } +Module *GamePage::getModule() const { + return _module; +} + } // End of namespace Pink diff --git a/engines/pink/page.h b/engines/pink/page.h index 3b06e5ea02..878613acf4 100644 --- a/engines/pink/page.h +++ b/engines/pink/page.h @@ -67,10 +67,13 @@ public: PinkEngine *getGame(); Sequencer *getSequencer(); + Module *getModule() const; private: int perhapsIsLoaded; Module *_module; + +private: CursorMgr *_cursorMgr; WalkMgr *_walkMgr; Sequencer *_sequencer; diff --git a/engines/pink/side_effects/side_effect.h b/engines/pink/side_effects/side_effect.h index e26a28566a..45099f3126 100644 --- a/engines/pink/side_effects/side_effect.h +++ b/engines/pink/side_effects/side_effect.h @@ -32,7 +32,7 @@ class LeadActor; class SideEffect : public Object { public: virtual ~SideEffect() {}; - virtual void init(LeadActor *_actor) {}; + virtual void init(LeadActor *actor) {}; }; diff --git a/engines/pink/side_effects/side_effect_module_variable.cpp b/engines/pink/side_effects/side_effect_module_variable.cpp index 5f3c85729f..4e1e173d55 100644 --- a/engines/pink/side_effects/side_effect_module_variable.cpp +++ b/engines/pink/side_effects/side_effect_module_variable.cpp @@ -25,6 +25,8 @@ */ #include "side_effect_module_variable.h" +#include "../actors/lead_actor.h" +#include "../page.h" namespace Pink { @@ -34,4 +36,9 @@ void SideEffectModuleVariable::deserialize(Archive &archive) { _name.c_str(), _value.c_str()); } +void SideEffectModuleVariable::init(LeadActor *actor) { + Common::StringMap &moduleMap = actor->getPage()->getModule()->getMap(); + moduleMap[_name] = _value; +} + }
\ No newline at end of file diff --git a/engines/pink/side_effects/side_effect_module_variable.h b/engines/pink/side_effects/side_effect_module_variable.h index 4eddeba613..df45bf8c46 100644 --- a/engines/pink/side_effects/side_effect_module_variable.h +++ b/engines/pink/side_effects/side_effect_module_variable.h @@ -30,6 +30,7 @@ class SideEffectModuleVariable : public SideEffectVariable { public: virtual void deserialize(Archive &archive); + virtual void init(LeadActor *actor); }; } // End of namespace Pink |