src/Network/Client.cc
changeset 224 e6faefba2ec1
parent 223 2fcaf54ed37b
child 239 550397d9d479
equal deleted inserted replaced
223:2fcaf54ed37b 224:e6faefba2ec1
   179 
   179 
   180 NetworkClientProjectile::NetworkClientProjectile (NetworkClient &client, NetworkObject_Client *obj, Vector position,
   180 NetworkClientProjectile::NetworkClientProjectile (NetworkClient &client, NetworkObject_Client *obj, Vector position,
   181         Vector velocity, float explosionRadius) :
   181         Vector velocity, float explosionRadius) :
   182     NetworkClientObjectHelper(client, obj), Projectile(client.state, position, velocity, true, explosionRadius)
   182     NetworkClientObjectHelper(client, obj), Projectile(client.state, position, velocity, true, explosionRadius)
   183 {
   183 {
   184     // XXX: register messages
   184     // hook up signals
   185 }
   185     slots.connect(obj->sig_message(NETMSG_PROJECTILE_DESTROY), this, &NetworkClientProjectile::on_destroy);
   186 
   186 }
       
   187 
       
   188 void NetworkClientProjectile::onDestroy (Vector position, bool removeGround) {
       
   189     // ignore :>
       
   190 }
       
   191 
       
   192 void NetworkClientProjectile::on_destroy (NetworkPacketInput &pkt) {
       
   193     Vector position = pkt.read_vector();
       
   194     uint8_t flags = pkt.read_uint8();
       
   195 
       
   196     Engine::log(INFO, "client_projectile.on_destroy") << "obj=" << obj << ", position=" << position << ", flags=" << flags;
       
   197     
       
   198     // XXX: leak obj, not yet implemented:  obj.destory();
       
   199 
       
   200     // pass on to super
       
   201     Projectile::onDestroy(position, flags & NETWORK_PROJECTILE_REMOVE_GROUND);
       
   202 }