src/Network/Server.cc
changeset 263 8c999cf4c182
parent 255 99431fdb0dc8
child 264 215de3d4de60
equal deleted inserted replaced
262:fbc9ce4950de 263:8c999cf4c182
    91 
    91 
    92 void NetworkServerPlayer::handleCreateProjectile (Weapon *weapon, Vector position, Vector velocity) {
    92 void NetworkServerPlayer::handleCreateProjectile (Weapon *weapon, Vector position, Vector velocity) {
    93     Engine::log(INFO, "server_player.create_projectile") << "weapon='" << weapon->getName() << "', position=" << position << ", velocity=" << velocity;
    93     Engine::log(INFO, "server_player.create_projectile") << "weapon='" << weapon->getName() << "', position=" << position << ", velocity=" << velocity;
    94 
    94 
    95     // create new NetworkServerProjectile object
    95     // create new NetworkServerProjectile object
    96     new NetworkServerProjectile(server, position, velocity, weapon->getExplosionRadius(), weapon->getExpireTicks());
    96     new NetworkServerProjectile(server, position, velocity, weapon->getExplosionRadius(), weapon->getRadius(), weapon->getExpireTicks());
    97 }
    97 }
    98 
    98 
    99 void NetworkServerPlayer::handleChangeWeapon (unsigned int weaponIndex) {
    99 void NetworkServerPlayer::handleChangeWeapon (unsigned int weaponIndex) {
   100     NetworkPacket pkt;
   100     NetworkPacket pkt;
   101 
   101 
   227 
   227 
   228 /* 
   228 /* 
   229  * NetworkServerProjectile
   229  * NetworkServerProjectile
   230  */
   230  */
   231 NetworkServerProjectile::NetworkServerProjectile (NetworkServer &server, Vector position, Vector velocity, 
   231 NetworkServerProjectile::NetworkServerProjectile (NetworkServer &server, Vector position, Vector velocity, 
   232         float explosionRadius, TickCount age) :
   232         float explosionRadius, float radius, TickCount age) :
   233     Projectile(server.state, position, velocity, true, explosionRadius, age), server(server), obj(server.netobjs)
   233     Projectile(server.state, position, velocity, true, explosionRadius, radius, age), server(server), obj(server.netobjs)
   234 {
   234 {
   235     NetworkPacket pkt;
   235     NetworkPacket pkt;
   236 
   236 
   237     pkt.write_vector(position);
   237     pkt.write_vector(position);
   238     pkt.write_vector(velocity);
   238     pkt.write_vector(velocity);
   239     pkt.write_float32(explosionRadius);
   239     pkt.write_float32(explosionRadius);
       
   240     pkt.write_float32(radius);
   240 
   241 
   241     obj.send_all(NETMSG_PROJECTILE_CREATE, pkt, true);
   242     obj.send_all(NETMSG_PROJECTILE_CREATE, pkt, true);
   242 }
   243 }
   243 
   244 
   244 void NetworkServerProjectile::onDestroy (Vector position, bool removeGround) {
   245 void NetworkServerProjectile::onDestroy (Vector position, bool removeGround) {