fiore 32b3cb918a [Feat] 넉백 기능 구현
- 플레이어가 PlayerController를 사용한다고 가정하고 넉백 구현

Work in JIRA ISSUE DEG-100
2025-05-02 11:51:24 +09:00

45 lines
1.4 KiB
C#

using UnityEngine;
public class MagicAoEField : AoeControllerBase
{
protected override void HitCheck()
{
var hits = Physics.OverlapSphere(transform.position, _data.radius, _data.targetLayer);
foreach (var hit in hits)
{
if (hit.CompareTag("Player"))
{
Debug.Log($"{hit.name}에게 {_data.damage} 데미지 적용");
// TODO: 실제 데미지 처리 로직 호출
// 임시 데이미 처리 로직
ApplyEffect(hit);
}
}
}
private void ApplyEffect(Collider hit)
{
PlayerController playerController = hit.transform.GetComponent<PlayerController>();
switch (EffectName)
{
case "Slow":
if (playerController != null)
{
var slow = new SlowDebuff(10f, 0.5f); // 10초간 50% 속도
playerController.AddStatusEffect(slow);
}
break;
case "knockback":
if (playerController != null)
{
var knPos = transform.position;
knPos.y += 0.5f;
var knockback = new KnockbackEffect(knPos,10f, 0.5f); // 장판 중심에서 10f만큼
playerController.AddStatusEffect(knockback);
}
break;
}
}
}