1
This commit is contained in:
parent
35fd26271d
commit
88bb1919e3
@ -33,8 +33,14 @@ void Bullet::Update(int delta_time)
|
||||
float distance = (pos - born_pos).Norm();
|
||||
if (meta->i->_inventory_slot() == 5 ||
|
||||
meta->i->_inventory_slot() == 6) {
|
||||
if (distance >= fly_distance) {
|
||||
//炸弹烟雾弹飞到目的地
|
||||
std::vector<Entity*> objects;
|
||||
int detection_flags = 0;
|
||||
{
|
||||
a8::SetBitFlag(detection_flags, ET_Obstacle);
|
||||
a8::SetBitFlag(detection_flags, ET_Building);
|
||||
}
|
||||
room->CollisionDetection(this, detection_flags, objects);
|
||||
if (!objects.empty() || distance >= fly_distance) {
|
||||
ProcBomb();
|
||||
}
|
||||
} else {
|
||||
@ -118,7 +124,12 @@ void Bullet::ProcBomb()
|
||||
explosions = &itr->second;
|
||||
}
|
||||
|
||||
Vector2D bomb_pos = born_pos + born_dir * fly_distance;
|
||||
#if 1
|
||||
Vector2D bomb_pos = pos;
|
||||
#else
|
||||
float distance = (pos - born_pos).Norm();
|
||||
Vector2D bomb_pos = born_pos + born_dir * distance;
|
||||
#endif
|
||||
cs::MFExplosion* explosion = explosions->Add();
|
||||
explosion->set_item_id(meta->i->id());
|
||||
bomb_pos.ToPB(explosion->mutable_pos());
|
||||
@ -138,7 +149,12 @@ void Bullet::ProcBomb()
|
||||
smokes = &itr->second;
|
||||
}
|
||||
|
||||
Vector2D bomb_pos = born_pos + born_dir * fly_distance;
|
||||
#if 1
|
||||
Vector2D bomb_pos = pos;
|
||||
#else
|
||||
float distance = (pos - born_pos).Norm();
|
||||
Vector2D bomb_pos = born_pos + born_dir * distance;
|
||||
#endif
|
||||
cs::MFSmoke* smoke = smokes->Add();
|
||||
smoke->set_item_id(meta->i->id());
|
||||
bomb_pos.ToPB(smoke->mutable_pos());
|
||||
|
Loading…
x
Reference in New Issue
Block a user