void MainMenu::processMultiplayerHost(Rocket::Core::Event& event) { const Rocket::Core::String& id = event.GetCurrentElement()->GetId(); if (id == "back") { m_mainMenuMultiplayerHost->Hide(); } if (id == "host") { Rocket::Core::Element* playerNameInput = m_mainMenuMultiplayerHost->GetElementById("playerName"); Rocket::Core::String playerName = playerNameInput->GetAttribute("value")->Get<Rocket::Core::String>(); Rocket::Core::Element* portInput = m_mainMenuMultiplayerHost->GetElementById("port"); Rocket::Core::String port = portInput->GetAttribute("value")->Get<Rocket::Core::String>(); hideSubmenus(); m_client->startMultiplayerHost(playerName.CString(), atoi(port.CString())); } }
void MainMenu::processSingleplayerCreate(Rocket::Core::Event& event) { const Rocket::Core::String& id = event.GetCurrentElement()->GetId(); if (id == "back") { m_mainMenuSingleplayerCreate->Hide(); } else if (id == "start") { Rocket::Core::Element* playerNameInput = m_mainMenuSingleplayerCreate->GetElementById("playerName"); Rocket::Core::String playerName = playerNameInput->GetAttribute("value")->Get<Rocket::Core::String>(); hideSubmenus(); m_client->startSinglePlayer(playerName.CString()); } }
void MainMenu::processMultiplayerJoin(Rocket::Core::Event& event) { const Rocket::Core::String& id = event.GetCurrentElement()->GetId(); if (id == "back") { m_mainMenuMultiplayerJoin->Hide(); } else if (id == "join") { Rocket::Core::Element* playerNameInput = m_mainMenuMultiplayerJoin->GetElementById("playerName"); Rocket::Core::String playerName = playerNameInput->GetAttribute("value")->Get<Rocket::Core::String>(); Rocket::Core::Element* ipInput = m_mainMenuMultiplayerJoin->GetElementById("ip"); Rocket::Core::String ip = ipInput->GetAttribute("value")->Get<Rocket::Core::String>(); Rocket::Core::Element* portInput = m_mainMenuMultiplayerJoin->GetElementById("port"); Rocket::Core::String port = portInput->GetAttribute("value")->Get<Rocket::Core::String>(); Debug::log(Debug::Area::NetworkClientInitialArea) << "joining multiplayer session with player: " << playerName.CString() << " ip: " << ip.CString() << " port: " << atoi(port.CString()); if (m_client->startMultiplayerClientConnection(playerName.CString(), ip.CString(), atoi(port.CString()))) { hideSubmenus(); } else { //failure } } }