diff options
Diffstat (limited to 'game.cpp')
-rw-r--r-- | game.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -74,6 +74,9 @@ void Game::handle_type(const boost::system::error_code& error, std::size_t bytes case message::MSG_TYPE_MSG: handle_message(); break; + case message::MSG_TYPE_PLAYER: + handle_player(); + break; default: std::cout << "unknown type: " << (int)*type << std::endl; } @@ -116,6 +119,22 @@ void Game::handle_message() { scene->chat->add_line(s); } +void Game::handle_player() { + message::Player m; + + m.read(socket); + uint32_t id = m.get_id(); + Vector3 pos(m.get_pos()); + m.get_len(); + + // fetching string + m.read(socket); + + std::string name = m.get_str(); + + scene->players.push_back(Player::p(new Player(id, pos, name))); +} + Game& Game::get_instance() { if(!game) game = new Game(); |