aboutsummaryrefslogtreecommitdiff
path: root/engines/pink/objects/actors/lead_actor.cpp
diff options
context:
space:
mode:
authorwhiterandrek2018-04-05 16:06:42 +0300
committerEugene Sandulenko2018-06-28 23:51:32 +0200
commitc29b1d1112b70fcb017359f9a28eb8b7de49a5ab (patch)
tree952523c511905eeb9c7ae2df2039d141de0e3bef /engines/pink/objects/actors/lead_actor.cpp
parentcad72b1532faa96c68848392766f25a4a58398ab (diff)
downloadscummvm-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.cpp26
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() {