bool CUpLighter::MovieEndMsg(CMovieEndMsg *msg) { if (_hosePumping) { playSound(TRANSLATE("z#47.wav", "z#578.wav")); _noseDispensed = true; CVisibleMsg visibleMsg(true); visibleMsg.execute("NoseHolder"); CDropZoneLostObjectMsg lostMsg(nullptr); lostMsg.execute(this); _clipName.clear(); _itemMatchName = "Nothing"; _hosePumping = false; } return true; }
bool CDropTarget::DropZoneLostObjectMsg(CDropZoneLostObjectMsg *msg) { if (!_itemName.empty()) { CGameObject *obj = dynamic_cast<CGameObject *>(findByName(_itemName)); if (obj) { if (msg->_object) { obj->detach(); obj->addUnder(msg->_object); } else if (dynamic_cast<CCarry *>(obj)) { obj->petAddToInventory(); } setVisible(true); CDropZoneLostObjectMsg lostMsg(this); lostMsg.execute(obj); } loadFrame(_dragFrame); _cursorId = _dragCursorId; } return true; }