diff options
author | Jon Bergli Heier <snakebite@jvnv.net> | 2011-06-12 17:52:31 +0200 |
---|---|---|
committer | Jon Bergli Heier <snakebite@jvnv.net> | 2011-06-12 17:52:31 +0200 |
commit | d289e0eacbd00538ee2bcaedeba4366cc1e98231 (patch) | |
tree | 16d49421b24520c1728149f96a63635340e2e4a2 /game.cpp | |
parent | d94e9e78af4e59e27524556b828291c1dfb72407 (diff) |
Handle and render players with a placeholder texture.
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(); |