void notify(void* data) { if(data == _net) { if(_net->getPacket()->packet_type == PacketTypes::REGISTER_SUCCES) _allowNextScene = true; else if(_net->getPacket()->packet_type == PacketTypes::REGISTER_FAIL) { _interface->addMessageBox(L"Confirmation failed.", L"That name is already in use, choose a different name.", true, 1, 0); _sceneRequest = false; } } }
void requestNextScene() { size_t i; char tempdata[25]; wcstombs_s(&i, tempdata, _interface->getElementWithId(GUI_ID_EDIT_NAME)->getText(), 24); std::string name = tempdata; _net->setUserName(name); _net->sendPacketType(PacketTypes::REQUEST_REGISTER_PLAYER, PROTOCOL_TCP); _sceneRequest = true; startTime = clock(); }
MainMenu(Core* core, Interface* ui, NetworkHandler* net) : Scene("MainMenu"), _core(core), _interface(ui), _net(net) { context.core = _core; context.currentScene = this; _net->attachScene(this); }
NameSelection(Core* core, Interface* ui, NetworkHandler* net) : Scene("NameSelection"), _core(core), _interface(ui), _net(net) { context.core = _core; context.currentScene = this; _net->attachScene(this); _sceneRequest = _allowNextScene = false; }
void requestNextScene() { if(context.createNew == true) { _net->sendPacketType(PacketTypes::REQUEST_NEW_LOBBY); printf("New lobby\n"); } else { _core->setActiveScene(new LobbyListMenu(_core, _interface, _net)); } }
~NameSelection() { _net->detachScene(this); _net = NULL; _core->resetReceiver(); _core = NULL; _interface->resetInterface(); _interface = NULL; }
~MainMenu() { _net->detachScene(this); _net = NULL; _core->resetReceiver(); _core = NULL; _interface->resetInterface(); _interface = NULL; }