This commit is contained in:
aozhiwei 2021-03-05 16:45:35 +08:00
parent a26b840d8f
commit 2bf334dbfd
3 changed files with 15 additions and 12 deletions

View File

@ -24,6 +24,7 @@ class Car : public MoveableEntity
virtual void FillMFObjectPart(Room* room, Human* hum, cs::MFObjectPart* part_data) override;
virtual void FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_data) override;
bool IsDriver(Human* hum) { return driver_ == hum && driver_; }
void GetDown(Human* passenger);
void GetOn(Human* passenger);

View File

@ -389,10 +389,17 @@ void Human::GetAabbBox(AabbCollider& aabb_box)
}
aabb_box.active = true;
aabb_box.owner = this;
aabb_box._min.x = -meta->i->radius();
aabb_box._min.y = -meta->i->radius();
aabb_box._max.x = meta->i->radius();
aabb_box._max.y = meta->i->radius();
if (GetCar() && GetCar()->IsDriver(this)) {
aabb_box._min.x = -GetCar()->meta->i->rad();
aabb_box._min.y = -GetCar()->meta->i->rad();
aabb_box._max.x = GetCar()->meta->i->rad();
aabb_box._max.y = GetCar()->meta->i->rad();
} else {
aabb_box._min.x = -meta->i->radius();
aabb_box._min.y = -meta->i->radius();
aabb_box._max.x = meta->i->radius();
aabb_box._max.y = meta->i->radius();
}
}
bool Human::IsDead(Room * room)

View File

@ -132,6 +132,9 @@ void Player::UpdateMove()
if (HasBuffEffect(kBET_Vertigo)) {
return;
}
if (HasBuffEffect(kBET_Passenger)) {
return;
}
if (HasBuffEffect(kBET_Camouflage)) {
RemoveBuffByEffectId(kBET_Camouflage);
}
@ -145,14 +148,6 @@ void Player::UpdateMove()
if (GetLastCollisionDoor() && !TestCollision(room, GetLastCollisionDoor())) {
SetLastCollisionDoor(nullptr);
}
#if 0
a8::Vec2 old_pos = GetPos();
if (tank_weapon.meta) {
CheckSkinTank();
tank_oil_value -= old_pos.Distance(GetPos()) * (MetaMgr::Instance()->average_oil / 100.0f);
tank_oil_value = std::max(0.0f, tank_oil_value);
}
#endif
#ifdef DEBUG
room->CheckPartObjects();
#endif