OSDN Git Service

ステージをロードしていないときは位置情報の受信を無視するように変更
authorh2so5 <h2so5@git.sourceforge.jp>
Sun, 16 Sep 2012 15:43:42 +0000 (00:43 +0900)
committerh2so5 <h2so5@git.sourceforge.jp>
Sun, 16 Sep 2012 15:43:42 +0000 (00:43 +0900)
client/CommandManager.cpp
server/Server.cpp

index 99d5e81..f2e83ee 100644 (file)
@@ -70,11 +70,13 @@ void CommandManager::Update()
                        // プレイヤー位置更新
                        case ClientUpdatePlayerPosition:
                        {
-                               PlayerPosition pos;
-                               uint32_t user_id;
-                               network::Utils::Deserialize(command->body(), &user_id, &pos.x, &pos.y, &pos.z, &pos.theta, &pos.vy);
+                               if (status_ == STATUS_READY) {
+                                       PlayerPosition pos;
+                                       uint32_t user_id;
+                                       network::Utils::Deserialize(command->body(), &user_id, &pos.x, &pos.y, &pos.z, &pos.theta, &pos.vy);
 
-                               player_manager->UpdatePlayerPosition(user_id, pos);
+                                       player_manager->UpdatePlayerPosition(user_id, pos);
+                               }
                        }
                                break;
 
index e1461bd..c5192cd 100644 (file)
@@ -114,7 +114,7 @@ namespace network {
 
     void Server::ReceiveSession(const SessionPtr& session, const boost::system::error_code& error)
     {
-        if (session_read_average_ > min_session_read_average_) {
+               if (GetUserCount() < config_.capacity()) {
             session->set_on_receive(callback_);
             session->Start();
             sessions_.push_back(SessionWeakPtr(session));