57 lines
1.5 KiB
C#
57 lines
1.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class Skill_ChainLightning : ProjectileBase
|
|
{
|
|
List<Actor> list_mob;
|
|
int m_Count = 4;
|
|
float OffTime;
|
|
|
|
public override void Set(ProjectileData _data)
|
|
{
|
|
_data.eStartPos = eProjectileStartPos.ShooterCenter;
|
|
transform.localScale = Vector3.one * 1.5f;
|
|
base.Set(_data);
|
|
m_ProjectTileData.Speed = 40f;
|
|
m_Count = IsStep(1) ? 8 : 4;
|
|
m_LifeTime = 0f;
|
|
OffTime = 0f;
|
|
list_mob = Get_Enemies(transform, 10f);
|
|
}
|
|
|
|
void Update()
|
|
{
|
|
if (OffTime > 0f)
|
|
{
|
|
OffTime -= Time.deltaTime;
|
|
if (OffTime <= 0f)
|
|
Off(true);
|
|
return;
|
|
}
|
|
|
|
if (list_mob == null || list_mob.Count < 1)
|
|
{
|
|
OffTime = 1f;
|
|
return;
|
|
}
|
|
|
|
if (m_LifeTime <= 0f)
|
|
{
|
|
var targetpos = list_mob[0].Get_Center_position();
|
|
transform.position = Vector3.MoveTowards(transform.position, targetpos, Time.deltaTime * m_ProjectTileData.Speed);
|
|
if (Vector3.Distance(transform.position, targetpos) < 0.2f)
|
|
{
|
|
m_LifeTime = 0.3f;
|
|
m_Count -= 1;
|
|
list_mob[0].Get_Damage(Get_DamageInfo());
|
|
list_mob.RemoveAt(0);
|
|
}
|
|
|
|
if (m_Count <= 0)
|
|
OffTime = 1f;
|
|
}
|
|
else
|
|
m_LifeTime -= Time.deltaTime;
|
|
}
|
|
} |