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(); | 
