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:
@@ -100,6 +100,20 @@ namespace BaseGames.Player
|
||||
// 开启连续碰撞检测(CCD):Kinematic 移动平台通过 MovePosition 将 Dynamic 角色推向墙体时,
|
||||
// CCD 会沿移动路径追踪碰撞,确保角色在物理层被墙体表面拦截,而不是在离散步骤中穿透墙体。
|
||||
_rb.collisionDetectionMode = CollisionDetectionMode2D.Continuous;
|
||||
if (_config != null)
|
||||
_config.OnConfigChanged += OnMovementConfigChanged;
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if (_config != null)
|
||||
_config.OnConfigChanged -= OnMovementConfigChanged;
|
||||
}
|
||||
|
||||
private void OnMovementConfigChanged()
|
||||
{
|
||||
if (_rb != null)
|
||||
_rb.gravityScale = _config.DefaultGravityScale;
|
||||
}
|
||||
|
||||
private void FixedUpdate()
|
||||
|
||||
Reference in New Issue
Block a user