From b2527a9eaa7082c50ce6230e79df88edbced9abb Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Mon, 15 Nov 2010 12:28:19 +0100 Subject: Implement server program flow around GameStart. --- server/player.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'server/player.cpp') diff --git a/server/player.cpp b/server/player.cpp index b2cdd83..1901da7 100644 --- a/server/player.cpp +++ b/server/player.cpp @@ -8,7 +8,7 @@ Player::p Player::create(Connection::p c, boost::function f) { return p; } -Player::Player(Connection::p c, boost::function f) : connection(c), lobby_callback(f) { +Player::Player(Connection::p c, boost::function f) : connection(c), timer(c->socket.get_io_service()), lobby_callback(f) { } @@ -41,10 +41,24 @@ void Player::handle_login(Message::p msg) { lobby_callback(shared_from_this()); } +void Player::handle_ready(Message::p msg) { + if(msg->type != Message::Types::Ready) { + return; + } + + ready_callback(); +} + std::string Player::nick() { return nick_; } -void Player::game_start() { - connection->send(make_shared()); +void Player::game_start(boost::function callback, std::vector players) { + Message::GameStart::p msg = make_shared(); + + for(std::vector::iterator i = players.begin(); i != players.end(); i++) { + msg->players.push_back((*i)->nick()); + } + + connection->send(msg); } -- cgit v1.2.3