Skip to content

Commit

Permalink
Add lobby userlist to ettp
Browse files Browse the repository at this point in the history
  • Loading branch information
nico-abram committed Dec 1, 2018
1 parent 1fd2973 commit b23caaf
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
34 changes: 34 additions & 0 deletions src/NetworkSyncManager.cpp
Expand Up @@ -52,6 +52,8 @@ std::map<ETTClientMessageTypes, std::string> ettClientMessageMap = {
std::map<std::string, ETTServerMessageTypes> ettServerMessageMap = {
{ "hello", ettps_hello },
{ "roomlist", ettps_roomlist },
{ "lobbyuserlist", ettps_lobbyuserlist },
{ "lobbyuserlistupdate", ettps_lobbyuserlistupdate },
{ "ping", ettps_ping },
{ "chat", ettps_recievechat },
{ "login", ettps_loginresponse },
Expand Down Expand Up @@ -926,6 +928,26 @@ ETTProtocol::Update(NetworkSyncManager* n, float fDeltaTime)
e.what());
}
break;
case ettps_lobbyuserlist: {
NSMAN->lobbyuserlist.clear();
auto users = payload->at("users");
for (auto& user : users) {
NSMAN->lobbyuserlist.emplace_back(user.get<string>());
}
} break;
case ettps_lobbyuserlistupdate: {
auto newUsers = payload->at("on");
for (auto& user : newUsers) {
auto& vec = NSMAN->lobbyuserlist;
vec.erase(std::remove(
vec.begin(), vec.end(), user.get<string>()),
vec.end());
}
auto removedUsers = payload->at("off");
for (auto& user : removedUsers) {
NSMAN->lobbyuserlist.emplace_back(user.get<string>());
}
} break;
case ettps_roomlist: {
RoomData tmp;
n->m_Rooms.clear();
Expand Down Expand Up @@ -1856,9 +1878,21 @@ class LunaChartRequest : public Luna<ChartRequest>
lua_pushnumber(L, p->rate / 1000);
return 1;
}
static int GetLobbyUserList(T* p, lua_State* L)
{
lua_newtable(L);
int i = 1;
for (auto& user : NSMAN->lobbyuserlist) {
lua_pushstring(L, user.c_str());
lua_rawseti(L, -2, i);
i++;
}
return 1;
}
LunaChartRequest()
{
ADD_METHOD(GetChartkey);
ADD_METHOD(GetLobbyUserList);
ADD_METHOD(GetUser);
ADD_METHOD(GetRate);
}
Expand Down
4 changes: 4 additions & 0 deletions src/NetworkSyncManager.h
Expand Up @@ -86,6 +86,8 @@ enum ETTServerMessageTypes
ettps_recievechat,
ettps_loginresponse,
ettps_roomlist,
ettps_lobbyuserlist,
ettps_lobbyuserlistupdate,
ettps_recievescore,
ettps_mpleaderboardupdate,
ettps_createroomresponse,
Expand Down Expand Up @@ -376,6 +378,8 @@ class NetworkSyncManager
// since function was last called.
RString m_Scoreboard[NUM_NSScoreBoardColumn];

vector<string> lobbyuserlist;

void SendMPLeaderboardUpdate(float wife, RString& jdgstr);

// Used for chatting
Expand Down

0 comments on commit b23caaf

Please sign in to comment.