Project_WL/Assets/Script/Character/Projectile/Skill/Skill_BindingArrow.cs

40 lines
1.2 KiB
C#

using UnityEngine;
public class Skill_BindingArrow : ProjectileBase
{
public Projectile_Strait[] arr_arrows;
[Header("화살 속도")]
public float m_speed = 3f;
[Header("화살 전체 각도")]
public float m_totalangle = 100f;
[Header("뒤로 밀리는 시간")]
public float m_backtime = 0.05f;
[Header("뒤로 밀리는 속도")]
public float m_backspeed = 10f;
public override void Set(ProjectileData _data)
{
_data.LifeTime = 2f;
_data.Speed = m_speed;
_data.eStartPos = eProjectileStartPos.ShooterCenter;
base.Set(_data);
_data.shooter.KnockBack(m_backtime, m_backspeed);
float startAngle = -m_totalangle * 0.5f;
float angleStep = m_totalangle / (arr_arrows.Length - 1);
for (int i = 0; i < arr_arrows.Length; i++)
{
var arrow = arr_arrows[i];
arrow.gameObject.SetActive(true);
arrow.Set(_data);
arrow.transform.localPosition = Vector3.zero;
float angle = startAngle + angleStep * i;
arrow.transform.localRotation = Quaternion.Euler(0f, angle, 0f);
}
StartCoroutine(Co_Off(m_LifeTime * 2f));
}
}