diff --git a/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs b/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs
index dbbdacb..7055f90 100644
--- a/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs
+++ b/DungeonShooting_Godot/src/framework/activity/ActivityObject.cs
@@ -320,6 +320,14 @@
protected virtual void DebugDraw()
{
}
+
+ ///
+ /// 返回当物体 CollisionLayer 是否能与 layer 层碰撞
+ ///
+ public bool CollisionWithLayer(uint layer)
+ {
+ return (CollisionLayer & layer) != 0;
+ }
///
/// 拾起一个 node 节点, 也就是将其从场景树中移除
diff --git a/DungeonShooting_Godot/src/game/room/RoomManager.cs b/DungeonShooting_Godot/src/game/room/RoomManager.cs
index 31a93fc..de2e545 100644
--- a/DungeonShooting_Godot/src/game/room/RoomManager.cs
+++ b/DungeonShooting_Godot/src/game/room/RoomManager.cs
@@ -99,7 +99,7 @@
{
var inst = (ActivityObject)o;
var count = Player.Affiliation.FindIncludeItemsCount(
- activityObject => activityObject.CollisionLayer == PhysicsLayer.Enemy && activityObject != inst
+ activityObject => activityObject != inst && activityObject.CollisionWithLayer(PhysicsLayer.Enemy)
);
GD.Print("有敌人死亡! 当前房间还剩: " + count + "个敌人");
if (count == 0)