diff options
Diffstat (limited to 'server/player.cpp')
-rw-r--r-- | server/player.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/server/player.cpp b/server/player.cpp index 6e1a7d3..ce6a116 100644 --- a/server/player.cpp +++ b/server/player.cpp @@ -57,7 +57,9 @@ void Player::handle_action(Message::p msg) { Message::RoundAction::p action_msg = dynamic_pointer_cast<Message::RoundAction>(msg); action_msg->action.player = id; - action_callback(action_msg->action); + if(action_callback != 0) { + action_callback(action_msg->action); + } } std::string Player::nick() { @@ -87,8 +89,16 @@ void Player::round_state(State state) { connection->send(make_shared<Message::RoundState>(state)); } +void Player::round_end() { + connection->send(make_shared<Message::RoundEnd>()); +} + void Player::get_action(boost::function<void (Action)> callback) { action_callback = callback; connection->recv(boost::bind(&Player::handle_action, shared_from_this(), _1)); } + +void Player::kill_action() { + action_callback = 0; +} |