This commit is contained in:
aozhiwei 2022-08-08 17:17:16 +08:00
parent e5dc9e3f98
commit 6e22165930
2 changed files with 17 additions and 0 deletions

View File

@ -964,3 +964,16 @@ void Obstacle::ProcDieExplosion(Room* room)
); );
} }
} }
void Obstacle::SetRotate(float rotate)
{
rotate_ = rotate;
for (auto collider : colliders_) {
if (collider->type == CT_Circle) {
CircleCollider* circle_collider = (CircleCollider*)collider;
if (fabs(rotate) > 0.0001) {
circle_collider->pos.Rotate(rotate);
}
}
}
}

View File

@ -51,6 +51,8 @@ class Obstacle : public Entity
virtual int OnCollisionTrigger(Creature* c, ColliderComponent* collider); virtual int OnCollisionTrigger(Creature* c, ColliderComponent* collider);
virtual bool CanSeeMe(Human* hum); virtual bool CanSeeMe(Human* hum);
virtual bool ReceiveExplosionDmg(Explosion* explosion) override; virtual bool ReceiveExplosionDmg(Explosion* explosion) override;
virtual void SetRotate(float rotate);
float GetRotate() { return rotate_; }
void SetDoorInfo(Building* building, int door_id_x); void SetDoorInfo(Building* building, int door_id_x);
bool IsDoor(); bool IsDoor();
DoorState_e GetDoorState(Room* room); DoorState_e GetDoorState(Room* room);
@ -102,5 +104,7 @@ protected:
int team_id_ = 0; int team_id_ = 0;
int master_id_ = 0; int master_id_ = 0;
float rotate_ = 0;
friend class EntityFactory; friend class EntityFactory;
}; };