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:
@@ -226,12 +226,12 @@ namespace BaseGames.Player.States
|
||||
_overlayLayer = _animancer.Layers[1];
|
||||
}
|
||||
|
||||
// 注入 HurtBox 依赖
|
||||
if (_hurtBox != null)
|
||||
// 注入 HurtBox 依赖(覆盖所有子节点 HurtBox,支持多形状受击区)
|
||||
foreach (var hb in GetComponentsInChildren<HurtBox>(true))
|
||||
{
|
||||
if (_shield != null) _hurtBox.SetShieldable(_shield);
|
||||
if (_parrySystem != null) _hurtBox.SetParrySystem(_parrySystem);
|
||||
_hurtBox.SetPoiseSource(this);
|
||||
if (_shield != null) hb.SetShieldable(_shield);
|
||||
if (_parrySystem != null) hb.SetParrySystem(_parrySystem);
|
||||
hb.SetPoiseSource(this);
|
||||
}
|
||||
|
||||
// 将唯一配置点(_inputReader)注入到 ParrySystem。
|
||||
|
||||
Reference in New Issue
Block a user