From 4282a9d069b3bedc8888a4e6202f2b066233d4ec Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Thu, 25 Nov 2010 03:01:43 +0100 Subject: Rename Player to Client, to better reflect what it represents. A Player should be specific to a game, while a Client may participate in several. --- server/player.cpp | 102 ------------------------------------------------------ 1 file changed, 102 deletions(-) delete mode 100644 server/player.cpp (limited to 'server/player.cpp') diff --git a/server/player.cpp b/server/player.cpp deleted file mode 100644 index d8baaf8..0000000 --- a/server/player.cpp +++ /dev/null @@ -1,102 +0,0 @@ -#include "player.h" - -#include - -Player::p Player::create(Connection::p c, boost::function f) { - Player::p p(new Player(c)); - p->start(f); - return p; -} - -Player::Player(Connection::p c) : connection(c), timer(c->socket.get_io_service()) { - -} - -void Player::start(boost::function f) { - // Send Hello. - connection->send(make_shared("aotenjoud git")); - - // Wait for Login. - connection->recv(boost::bind(&Player::handle_login, shared_from_this(), _1, f)); -} - -void Player::handle_login(Message::p msg, boost::function lobby_callback) { - if(msg->type != Message::Types::Login) { - return; - } - - Message::Login::p login_msg = dynamic_pointer_cast(msg); - - // Check if nick is invalid. - if(login_msg->nick.size() == 0) { - connection->send(make_shared(false)); - connection->recv(boost::bind(&Player::handle_login, shared_from_this(), _1, lobby_callback)); - return; - } - - connection->send(make_shared(true)); - - nick_ = login_msg->nick; - - lobby_callback(shared_from_this()); -} - -void Player::handle_ready(Message::p msg, boost::function ready_callback) { - if(msg->type != Message::Types::Ready) { - return; - } - - ready_callback(); -} - -void Player::handle_action(Message::p msg, boost::function action_callback, Actions possible_actions) { - if(msg->type != Message::Types::RoundAction) { - return; - } - - Message::RoundAction::p action_msg = dynamic_pointer_cast(msg); - - // Check if the action is valid. - if(possible_actions.contains(action_msg->action)) { - action_callback(action_msg->action); - } else { - action_callback(possible_actions[0]); - } -} - -std::string Player::nick() { - return nick_; -} - -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()); - } - msg->player_id = id; - - connection->send(msg); - - connection->recv(boost::bind(&Player::handle_ready, shared_from_this(), _1, callback)); -} - -void Player::round_start() { - connection->send(make_shared()); -} - -void Player::round_state(State state) { - connection->send(make_shared(state)); -} - -void Player::round_end() { - connection->send(make_shared()); -} - -void Player::get_action(boost::function callback, Actions expected_actions) { - connection->recv(boost::bind(&Player::handle_action, shared_from_this(), _1, callback, expected_actions)); -} - -void Player::kill_action() { - -} -- cgit v1.2.3