// // Created by hoelshare on 22.05.17. // #include "GameClient.hpp" void GameClient::createUIGameStart() { if (this->playerList) { this->playerList->Clear(); Serial.println("GameClient::createUIGameStart - Clear"); } else { this->playerList = new PlayerListMenu(9); } Serial.println("GameClient::createUIGameStart - new PlayerListMenu"); playerList->setLeftAction([=]() { this->player->prevWeapon(); }); playerList->setRightAction([=]() { this->player->nextWeapon(); }); playerList->setDownAction([=]() { this->player->reload(); }); playerList->setEnterAction([=]() { this->player->shot(); }); Serial.println("GameClient::createUIGameStart - set Lambdas"); LaserMenuItem *healthMI = new LaserMenuItem([]() {}, "/heart.bmp"); LaserMenuItem *armorMI = new LaserMenuItem([]() {}, "/armor.bmp"); LaserMenuItem *ammoMI = new LaserMenuItem([]() {}, "/ammo1.bmp"); LaserMenuItem *nameMI = new LaserMenuItem([]() {}, nullptr); player->setHealthMenuItem(healthMI); player->setArmorMenuItem(armorMI); player->setAmmoMenuItem(ammoMI); playerList->addMenuItem(healthMI); playerList->addMenuItem(armorMI); playerList->addMenuItem(ammoMI); playerList->addMenuItem(nameMI); Serial.println("GameClient::createUIGameStart - added Lambdas"); nameMI->setText(player->getNickname()); Serial.println("GameClient::createUIGameStart - set Nickname"); playerList->setDirty(); reopen = true; Serial.println("GameClient::createUIGameStart - Ende"); } void GameClient::startGame() { Serial.println("GameClient::startGame()"); this->createUIGameStart(); Serial.println("GameClient::startGame() - Ende"); } void GameClient::joinGame(String ip) { badge->setVibrator(true); delay(200); badge->setVibrator(false); playerList->addMenuItem(new MenuItem(player->getNickname(), []() {})); ui->dispatchInput(badge->getJoystickState()); ui->open(playerList); ui->draw(); Serial.printf("Conn data:\n\tip: %s\n\tport: %d\n", ip.c_str(), SERVER_PORT); //client->connect(ip.c_str(), SERVER_PORT); Serial.printf("Trying to conncet!\n"); if (!client->connect("192.168.42.175", 4803)){ Serial.printf("Connect failed!\n"); } Serial.printf("client->connect\n"); client->print(player->getNickname()); Serial.printf("client->print nickname\n"); client->flush(); Serial.printf("client->flush"); Serial.printf("Receiving"); String recv = client->readStringUntil('\n'); Serial.printf("RECV: %s", recv.c_str()); } void GameClient::update() { Serial.println("GameClient - Update"); if(reopen) { reopen = false; ui->open(playerList); } // String lastHitBy; // int lastDamage; // // if (wasHit(&lastHitBy, &lastDamage)){ // player->hit(lastDamage); // // tft.setCursor(20, 20); // tft.print("Hit by " + lastHitBy); // } Serial.println("GameClient - Update - Ende"); } bool GameClient::wasHit(String* nick, int* damage, bool enable) { // TODO: Write 'real' code *nick = "otter"; *damage = 10; return enable; }