//UI Methods void NetworkChat(bool* opened) { ImGui::SetNextWindowSize(ImVec2(550, 275)); ImGui::SetNextWindowContentSize(ImVec2(550, 250)); if (!strcmp(input, "")) sceneManager->EnableInput(); else sceneManager->DisableInput(); if (!ImGui::Begin("Chat Log", opened)) { ImGui::End(); return; } ImGui::BeginChild("Log"); ImGui::TextUnformatted(logger.begin(), logger.end()); ImGui::SetScrollY(ImGui::GetScrollMaxY()); ImGui::EndChild(); ImGui::InputText("", input, 256); ImGui::SameLine(); if (ImGui::Button("Send")) { if (input[0] == '@') { char buffer[256]; if (sscanf(input, "@clear -%s\0", buffer)) { if (strcmp(buffer, "all")) logger.clear(); } if (sscanf(input, "@name -%s\0", buffer)) { ZeroMemory(name, 256); strcat(name, "["); strcat(name, buffer); strcat(name, "]"); logger.append("name Changed to : ");logger.append(name);logger.append("\n"); } } else { char buffer[256]; ZeroMemory(buffer, 256); strcat(buffer, name); strcat(buffer, input); strcat(buffer, "\n"); logger.append(buffer); SendNetworkMessage(buffer); } ZeroMemory(input, 256); } ImGui::End(); }
void InitalizeNetwork() { ZeroMemory(Pname, 256); int Val = Startup_WinSock(); sConnect = socket(AF_INET, SOCK_STREAM, NULL); addr.sin_addr.s_addr = inet_addr("127.0.0.1"); addr.sin_port = htons(1435); addr.sin_family = AF_INET; Val = connect(sConnect, (SOCKADDR*)&addr, sizeof(addr)); logger.append("Connected To Server!\n"); logger.append("#change name with command : @name -(name)\n"); ZeroMemory(name, 256); strcat(name, "["); strcat(name, "user"); strcat(name, "]"); }
void MessageThread() { char *Buffer = CreateTempBuffer(256); int size = 0; while (true) { ZeroMemory(Buffer, 256); if ((size = recv(sConnect, Buffer, 256, NULL)) > 0) { logger.append(Buffer); } Sleep(50); } }
void debug(const std::string &s) { dlog.append(s.c_str()); dlog.append("\n"); }