40 lines
1.2 KiB
C#
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));
|
|
}
|
|
} |