feat: Add HurtBoxOwnerGuard to prevent multiple damage registrations from the same HitBox activation
- Implemented HurtBoxOwnerGuard to ensure that multiple HurtBoxes on the same character do not register damage multiple times during a single HitBox activation. - Added custom editor for HitBox to facilitate the creation of shape colliders with HitBoxColliderProxy. - Introduced PhysicsPerceptionSystem for enemy perception, supporting multiple detection modes including RangeCircle, BatchLOS, FanCast, and BoxCast. - Created EnemyPatrolZone to define patrol and chase areas for enemies, allowing for shared zones among multiple enemies. - Added BD_IsOutsideZone conditional task for Behavior Designer to check if an enemy or player is outside a defined patrol zone.
This commit is contained in:
@@ -79,6 +79,11 @@ namespace BaseGames.Enemies.AI
|
||||
|
||||
Vector2 playerPos = _enemy.PlayerTransform.position;
|
||||
|
||||
// 若配置了巡逻区域,且玩家超出追击边界 → 放弃追击(优先级高于纯距离限制)
|
||||
var zone = _enemy.PatrolZone;
|
||||
if (zone != null && !zone.ContainsChase(playerPos))
|
||||
return TaskStatus.Failure;
|
||||
|
||||
if (_enemy.IsPlayerVisible())
|
||||
{
|
||||
// 视线恢复:Searching → Tracking,恢复奔跑速度
|
||||
|
||||
Reference in New Issue
Block a user