bool CSakiServerEngine::OnAccepted(CAsyncSocket* pVisitor) { auto player = JoinGame(pVisitor); if (player != nullptr) { // Send Hello message to new player { auto msg = SakiSnakeCommon::Msg<SakiSnakeCommon::msgHello, SakiSnakeCommon::HelloMsg>(); msg._data._playerId = player->PlayerId(); msg._data._height = m_board.Height(); msg._data._width = m_board.Width(); msg._data._r = player->Color().r; msg._data._g = player->Color().g; msg._data._b = player->Color().b; player->Send(&msg); } // Send Joined message to everybody for (auto x : m_players) { for (auto y : m_players) { if (y.first != x.second->PlayerId()) { auto msg = SakiSnakeCommon::Msg<SakiSnakeCommon::msgJoined, SakiSnakeCommon::JoinedMsg>(); msg._data._playerId = y.second->PlayerId(); msg._data._r = y.second->Color().r; msg._data._g = y.second->Color().g; msg._data._b = y.second->Color().b; x.second->Send(&msg); } } } BroadcastBoard(); } return (player != nullptr); }
void FOnlineIdentityGooglePlay::SetPlayerDataFromFetchSelfResponse(const gpg::Player& PlayerData) { FString PlayerId(PlayerData.Id().c_str()); UniqueNetId = MakeShareable(new FUniqueNetIdString(PlayerId)); PlayerAlias = PlayerData.Name().c_str(); }