Exemple #1
0
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);
}
Exemple #4
0
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;
}
Exemple #5
0
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;
}
Exemple #6
0
bool CGondolier::StatusChangeMsg(CStatusChangeMsg *msg) {
	CShowTextMsg textMsg(GONDOLIERS_FIRST_CLASS_ONLY);
	textMsg.execute("PET");
	return true;
}