Project_WL/Assets/Script/Character/Projectile/ProjectileTest.cs

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);
}
}