bool CChicken::UseWithOtherMsg(CUseWithOtherMsg *msg) { if (msg->_other->getName() == "Napkin") { if (_field12C || _string6 == "None") { CActMsg actMsg("Clean"); actMsg.execute(this); petAddToInventory(); } else { CShowTextMsg textMsg("The chicken is already clean."); textMsg.execute("PET"); } petAddToInventory(); } else { CSauceDispensor *dispensor = dynamic_cast<CSauceDispensor *>(msg->_other); if (!dispensor || _string6 == "None") { return CCarry::UseWithOtherMsg(msg); } else { setVisible(false); CUse use(this); use.execute(msg->_other); } } return true; }
void Server::OnMessage(ConnectionHandle connection, MessagePtr data) { Urho3D::MutexLock lock(mutexEvents_); ConnectionPtr connectionPtr = server_->get_con_from_hdl(connection); if (data->get_opcode() == websocketpp::frame::opcode::TEXT) { String textMsg(data->get_payload().c_str()); LogInfo("[WebSocketServer]: on_utf8_message: size=" + String(textMsg.Length()) + " msg=" + textMsg); } else if (data->get_opcode() == websocketpp::frame::opcode::BINARY) { const std::string &payload = data->get_payload(); if (payload.size() == 0) { LogError("[WebSocketServer]: Received 0 sized payload, ignoring"); return; } SocketEvent *event = new SocketEvent(connectionPtr, SocketEvent::Data); event->data = DataSerializerPtr(new kNet::DataSerializer(payload.size())); event->data->AddAlignedByteArray(&payload[0], payload.size()); events_.Push(event); } }
bool CCentralCore::UseWithOtherMsg(CUseWithOtherMsg *msg) { CString name = msg->_other->getName(); if (name == "HammerDispensorButton") { CPuzzleSolvedMsg solvedMsg; solvedMsg.execute("BigHammer"); } else if (name == "SpeechCentre") { CShowTextMsg textMsg(DOES_NOT_REACH); textMsg.execute("PET"); } return CBrain::UseWithOtherMsg(msg); }
bool CPlugIn::UseWithOtherMsg(CUseWithOtherMsg *msg) { CGameObject *other = msg->_other; CString otherName = other->getName(); if (otherName == "PET") { return CCarry::UseWithOtherMsg(msg); } else if (isEquals("DatasideTransporter")) { CShowTextMsg textMsg("This item is incorrectly calibrated."); textMsg.execute("PET"); } else if (isEquals("DatasideTransporter")) { error("TODO: Set msg->_other->fieldC4 = 2"); } else if (isEquals("SendYourself")) { error("TODO: Set msg->_other->fieldC8 = 1"); } return true; }
bool CPlugIn::UseWithOtherMsg(CUseWithOtherMsg *msg) { CGameObject *other = msg->_other; CString otherName = other->getName(); if (otherName == "PET") { return CCarry::UseWithOtherMsg(msg); } else if (otherName == "DatasideTransporter") { CString name = getName(); if (name == "DatasideTransporter") { // TODO if (name != "SendYourself") { // TODO } } else { // TODO } } else { CShowTextMsg textMsg("This item is incorrectly calibrated."); textMsg.execute("PET"); } return true; }
bool CGondolier::StatusChangeMsg(CStatusChangeMsg *msg) { CShowTextMsg textMsg(GONDOLIERS_FIRST_CLASS_ONLY); textMsg.execute("PET"); return true; }