src/Network/Client.cc
changeset 239 550397d9d479
parent 224 e6faefba2ec1
child 241 e95b1602d836
--- a/src/Network/Client.cc	Sun Dec 07 00:12:04 2008 +0000
+++ b/src/Network/Client.cc	Sun Dec 07 00:27:30 2008 +0000
@@ -122,6 +122,7 @@
     // receive position updates
     slots.connect(obj->sig_message(NETMSG_PLAYER_POSITION), this, &NetworkClientPlayerHelper::on_position);
     slots.connect(obj->sig_message(NETMSG_PLAYER_DIG), this, &NetworkClientPlayerHelper::on_dig);
+    slots.connect(obj->sig_message(NETMSG_PLAYER_WEAPON_CHANGE), this, &NetworkClientPlayerHelper::on_weapon_change);
 }
 
 void NetworkClientPlayerHelper::on_position (NetworkPacketInput &pkt) {
@@ -145,6 +146,14 @@
     // just update... 
     handleDig(position, radius);
 }
+        
+void NetworkClientPlayerHelper::on_weapon_change (NetworkPacketInput &pkt) {
+    uint8_t weapon_index = pkt.read_uint8();
+
+    Engine::log(INFO, "client_player.on_weapon_change") << "obj=" << obj << ", weapon_index=" << weapon_index;
+
+    handleChangeWeapon(weapon_index);
+}
 
 NetworkClientLocalPlayer::NetworkClientLocalPlayer (NetworkClient &client, NetworkObject_Client *obj, Vector position) :
     Player(client.state, position, true), NetworkClientPlayerHelper(client, position, obj) {