using UnityEngine; public class Stats : MonoBehaviour { [Header("--- 기본 능력치 ---")] [SerializeField] private float baseMaxHealth = 100f; [SerializeField] private float baseMoveSpeed = 5f; [SerializeField] private float baseAttackDamage = 10f; [Header("--- 보너스 능력치 ---")] public float bonusMaxHealth; public float bonusMoveSpeed; public float bonusAttackDamage; [Header("--- 장착 장비 ---")] public float weaponDamage; [Header("--- 밸런스 설정 ---")] [SerializeField] private float runSpeedMultiplier = 1.5f; /* ========================= * 실제 게임 로직용 프로퍼티 * ========================= */ public float MaxHealth => baseMaxHealth + bonusMaxHealth; public float BaseAttackDamage => baseAttackDamage + bonusAttackDamage; public float TotalAttackDamage => BaseAttackDamage + weaponDamage; // ✨ [수정] 이제 무게 페널티 없이 순수 속도만 계산합니다. public float CurrentMoveSpeed => baseMoveSpeed + bonusMoveSpeed; public float CurrentRunSpeed => CurrentMoveSpeed * runSpeedMultiplier; private void Update() { finalMaxHealth = MaxHealth; finalMoveSpeed = CurrentMoveSpeed; finalAttackDamage = TotalAttackDamage; } // ✨ [수정] 레벨업 시 체력과 공격력을 올려주도록 변경 public void AddBaseLevelUpStats(float hpAdd, float dmgAdd) { baseMaxHealth += hpAdd; baseAttackDamage += dmgAdd; } public void AddMaxHealth(float value) => bonusMaxHealth += value; public void AddMoveSpeed(float value) => bonusMoveSpeed += value; public void AddAttackDamage(float value) => bonusAttackDamage += value; // ✨ [제거] 무게 및 힘 관련 함수들(UpdateWeaponWeight, ResetWeight)이 삭제되었습니다. [Header("--- 최종 능력치 (Read Only) ---")] [SerializeField] private float finalMaxHealth; [SerializeField] private float finalMoveSpeed; [SerializeField] private float finalAttackDamage; }