添加壁垒逻辑
This commit is contained in:
parent
58b2c78184
commit
8dc0473d4d
@ -89,6 +89,7 @@ class Creature : public MoveableEntity
|
|||||||
virtual void RemoveOutObjects(Entity* entity) {};
|
virtual void RemoveOutObjects(Entity* entity) {};
|
||||||
virtual bool Attackable(Room* room) override;
|
virtual bool Attackable(Room* room) override;
|
||||||
virtual bool ReceiveExplosionDmg(Explosion* explosion) override;
|
virtual bool ReceiveExplosionDmg(Explosion* explosion) override;
|
||||||
|
virtual bool IsCreature(Room* room) override { return true;};
|
||||||
bool HasBuffEffect(int buff_effect_id);
|
bool HasBuffEffect(int buff_effect_id);
|
||||||
Buff* GetBuffByEffectId(int effect_id);
|
Buff* GetBuffByEffectId(int effect_id);
|
||||||
Buff* GetBuffById(int buff_id);
|
Buff* GetBuffById(int buff_id);
|
||||||
|
@ -30,6 +30,7 @@ class Entity
|
|||||||
virtual float GetHitRadius() { return GetRadius();};
|
virtual float GetHitRadius() { return GetRadius();};
|
||||||
virtual void GetCircleBox(CircleCollider& circle_box);
|
virtual void GetCircleBox(CircleCollider& circle_box);
|
||||||
virtual bool IsDead(Room* room) { return false;};
|
virtual bool IsDead(Room* room) { return false;};
|
||||||
|
virtual bool IsCreature(Room* room) { return false;};
|
||||||
virtual long long GetDeadFrameNo(Room* room) { return 0;};
|
virtual long long GetDeadFrameNo(Room* room) { return 0;};
|
||||||
virtual void OnPreCollision(Room* room) {};
|
virtual void OnPreCollision(Room* room) {};
|
||||||
virtual void RecalcSelfCollider() {};
|
virtual void RecalcSelfCollider() {};
|
||||||
|
@ -116,7 +116,7 @@ void Explosion::InternalAttack()
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
for (auto& target : objects) {
|
for (auto& target : objects) {
|
||||||
if (target->HasBuffEffect(kBET_BulletThrough)) {
|
if (target->IsCreature(room_) && ((Creature*)target)->HasBuffEffect(kBET_BulletThrough)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
target->OnExplosionHit(this);
|
target->OnExplosionHit(this);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user