using UnityEngine; namespace BaseGames.Enemies { /// /// 敌人属性配置 SO(架构 07_EnemyModule §2)。 /// [CreateAssetMenu(menuName = "BaseGames/Enemies/EnemyStats")] public class EnemyStatsSO : ScriptableObject { [Header("生命")] public int MaxHP = 50; [Header("防御")] public int Defense = 0; [Header("移动")] public float WalkSpeed = 2f; public float RunSpeed = 4f; [Header("战斗")] public int AttackDamage = 10; public float AttackRange = 1.5f; public float AttackCooldown = 1f; public float DetectRange = 6f; [Header("击退(作为来源时)")] public float KnockbackForce = 5f; public float HitStunDuration = 0.3f; [Header("视线检测(BatchLOSSystem)")] [Tooltip("相对 transform.position 的眼睛偏移量")] public Vector2 EyeOffset = new Vector2(0f, 0.8f); [Tooltip("遮挡 LOS 的物理图层")] public LayerMask LOSBlockingMask = 1; // Default layer } }