41 lines
1.3 KiB
C#
41 lines
1.3 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
/// <summary>
|
|
/// 목표한 적에게 날아가서 목표한 적만 때림
|
|
/// </summary>
|
|
public class ProjectileTest : ProjectileBase
|
|
{
|
|
void Update()
|
|
{
|
|
if (m_ProjecTileData.target == null)
|
|
{
|
|
Off();
|
|
return;
|
|
}
|
|
|
|
var targetpos = m_ProjecTileData.target.Get_Center_position();
|
|
transform.position = Vector3.MoveTowards(transform.position, targetpos, Time.deltaTime * m_ProjecTileData.Speed);
|
|
if (Vector3.Distance(transform.position, targetpos) < 0.2f)
|
|
{
|
|
Off();
|
|
if (m_ProjecTileData.DamageArea > 0f)
|
|
{
|
|
var enemies = Get_Enemies(transform, m_ProjecTileData.DamageArea);
|
|
for (int i = 0; i < enemies.Count; i++)
|
|
{
|
|
enemies[i].Get_Damage(Get_DamageInfo());
|
|
m_ProjecTileData.Action_OnHit?.Invoke(enemies[i]);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
m_ProjecTileData.target.Get_Damage(Get_DamageInfo());
|
|
m_ProjecTileData.Action_OnHit?.Invoke(m_ProjecTileData.target);
|
|
}
|
|
}
|
|
m_LifeTime -= Time.deltaTime;
|
|
if (m_LifeTime <= 0f) Off(true);
|
|
}
|
|
} |