Files
ProjectMD/Assets/Scripts/GameBase/Projectile.cs
Dal4segno 745166803c 타워 공격 기능 추가
각 타워 외형 변경 및 투사체 생성
2026-01-14 01:45:59 +09:00

47 lines
1.1 KiB
C#

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); // 충돌 후 소멸
}
}