diff --git a/Assets/Scripts/Mechanics/EnemyController.cs b/Assets/Scripts/Mechanics/EnemyController.cs index 4f44ae2..953ecdb 100644 --- a/Assets/Scripts/Mechanics/EnemyController.cs +++ b/Assets/Scripts/Mechanics/EnemyController.cs @@ -373,8 +373,27 @@ namespace Platformer.Mechanics if (control != null) control.move.x = 0f; } - // BT12-Dev 2026-05-11 — 밟기 공격 폐기 (PD 지시): Player ↔ Enemy 충돌 검출·PlayerEnemyCollision 발화 제거. + // BT12-Dev 2026-05-11 — 밟기 공격 폐기 (PD 지시): PlayerEnemyCollision 발화 제거. // Player ↔ Enemy IgnoreCollision은 Awake 시점에 이미 적용되어 물리 통과 정합. + // + // PD 지시 2026-05-11 — Player ↔ Enemy 닿음 시 Player 피해 (밟기는 X·통과). + // Player IsGrounded 상태에서만 피격·공중(점프) 상태는 통과. + if (_cachedPlayer == null) + { + var pgo = GameObject.FindGameObjectWithTag("Player"); + if (pgo != null) _cachedPlayer = pgo.GetComponent(); + if (_cachedPlayer == null) _cachedPlayer = Object.FindFirstObjectByType(); + } + if (_cachedPlayer != null && _cachedPlayer.health != null && _cachedPlayer.health.IsAlive) + { + if (_cachedPlayer.IsGrounded && VisualBounds.Intersects(_cachedPlayer.Bounds)) + { + if (!_cachedPlayer.health.IsInvulnerable) + { + _cachedPlayer.health.Decrement(); + } + } + } } void OnDrawGizmos()