diff options
author | whiterandrek | 2018-04-05 16:06:42 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2018-06-28 23:51:32 +0200 |
commit | c29b1d1112b70fcb017359f9a28eb8b7de49a5ab (patch) | |
tree | 952523c511905eeb9c7ae2df2039d141de0e3bef /engines/pink/objects/actors/lead_actor.cpp | |
parent | cad72b1532faa96c68848392766f25a4a58398ab (diff) | |
download | scummvm-rg350-c29b1d1112b70fcb017359f9a28eb8b7de49a5ab.tar.gz scummvm-rg350-c29b1d1112b70fcb017359f9a28eb8b7de49a5ab.tar.bz2 scummvm-rg350-c29b1d1112b70fcb017359f9a28eb8b7de49a5ab.zip |
PINK: started inventory implementation
Diffstat (limited to 'engines/pink/objects/actors/lead_actor.cpp')
-rw-r--r-- | engines/pink/objects/actors/lead_actor.cpp | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/engines/pink/objects/actors/lead_actor.cpp b/engines/pink/objects/actors/lead_actor.cpp index faa0d5aada..516569faed 100644 --- a/engines/pink/objects/actors/lead_actor.cpp +++ b/engines/pink/objects/actors/lead_actor.cpp @@ -184,16 +184,16 @@ void LeadActor::onLeftButtonClick(Common::Point point) { Actor *actor = _page->getGame()->getDirector()->getActorByPoint(point); if (this == actor){ - // inventory is not implemented + // inventory is not implemented return; } _recipient = (SupportingActor*) actor; if (actor->isClickable() && _recipient->isLeftClickHandlers()){ - _state = kMoving; - _nextState = kInDialog1; - _walkMgr->start(_walkMgr->findLocation(_recipient->getLocation())); + _state = kMoving; + _nextState = kInDialog1; + _walkMgr->start(_walkMgr->findLocation(_recipient->getLocation())); } break; } @@ -229,10 +229,24 @@ bool LeadActor::sendUseClickMessage(SupportingActor *actor) { } bool LeadActor::sendLeftClickMessage(SupportingActor *actor) { - actor->onLeftClickMessage(); _nextState = _state != kPlayingVideo ? kReady : kPlayingVideo; _state = kInDialog1; - return false; + return actor->onLeftClickMessage(); +} + +void LeadActor::onClick() { + if (_isHaveItem) { + _isHaveItem = false; + _nextState = _state != kMoving ? + kUnk_Loading : kReady; + } + else { + if (_state == kMoving) { + this->_recipient = nullptr; + this->_nextState = nullptr; + } + + } } void ParlSqPink::toConsole() { |