타워 기능 추가 및 개선

This commit is contained in:
2026-01-14 11:33:18 +09:00
parent 745166803c
commit 96de63dd47
17 changed files with 2504 additions and 34 deletions

View File

@@ -0,0 +1,47 @@
using UnityEngine;
public class Projectile : MonoBehaviour
{
private Transform _target;
public float speed = 20f;
public float damage = 20f;
public void Seek(Transform target)
{
_target = target;
}
void Update()
{
if (_target == null)
{
Destroy(gameObject);
return;
}
// 타겟 방향으로 이동
Vector3 dir = _target.position - transform.position;
float distanceThisFrame = speed * Time.deltaTime;
// 적에게 도달했는지 확인
if (dir.magnitude <= distanceThisFrame)
{
HitTarget();
return;
}
transform.Translate(dir.normalized * distanceThisFrame, Space.World);
transform.LookAt(_target); // 적을 바라보게 회전
}
void HitTarget()
{
IDamageable damageable = _target.GetComponentInParent<IDamageable>();
if (damageable != null)
{
damageable.TakeDamage(damage);
}
Destroy(gameObject); // 충돌 후 소멸
}
}