feat: 몬스터 피격시 데미지 텍스트 이펙트 추가

This commit is contained in:
aube.lee
2025-02-26 11:20:24 +09:00
parent f7cdaa7178
commit c8059ce769
10 changed files with 466 additions and 8 deletions

View File

@@ -33,15 +33,28 @@ namespace TON
/// <summary>
/// 치명타 적용 (치명타 확률이 0보다 클 경우에만 적용)
/// </summary>
public float ApplyCriticalDamage(float damage)
public float ApplyCriticalDamage(float damage, Vector3 position)
{
bool critical = false;
if (Random.value < criticalChance) // Random.value는 0.0 ~ 1.0 사이의 랜덤 값
{
damage *= criticalMultiplier;
critical = true;
Debug.Log("💥 치명타 발생! 💥" + damage);
}
return Mathf.Round(damage); // 소수점 제거
float value = Mathf.Round(damage);
// 데미지 이펙트 출력
ShowDamage((int)value, critical, position);
return value;
}
public void ShowDamage(int damage, bool isCritical, Vector3 position)
{
GameObject damageText = ObjectPoolManager.Instance.GetEffect("DamageEffect");
damageText.transform.position = new Vector3(position.x, position.y + 1f, position.z);
damageText.GetComponent<DamageEffect>().SetDamage(damage, isCritical);
}
}
}