49 lines
1.6 KiB
C#
49 lines
1.6 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class Skill_DashSlash : ProjectileBase
|
|
{
|
|
public GameObject go_effect;
|
|
public List<float> list_DamgeDelayTime = new List<float>();
|
|
public Collider m_Collider;
|
|
|
|
public override void Set(ProjectileData _data)
|
|
{
|
|
base.Set(_data);
|
|
go_effect.SetActive(false);
|
|
m_Collider.enabled = false;
|
|
_data.shooter.Set_Invisible(0.5f, () => { StartCoroutine(Co_Update()); });
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (m_ProjecTileData.target)
|
|
transform.position = m_ProjecTileData.target.Get_position();
|
|
}
|
|
|
|
IEnumerator Co_Update()
|
|
{
|
|
m_ProjecTileData.shooter.Set_Warp(m_ProjecTileData.target.Get_PositionFoward(1f));
|
|
if (m_ProjecTileData.shooter.IsMainPC())
|
|
MyValue.m_RealCamera.Set_FollowTarget(m_ProjecTileData.target);
|
|
yield return new WaitForSeconds(0.5f);
|
|
go_effect.SetActive(true);
|
|
transform.LookAt(m_ProjecTileData.target.transform);
|
|
transform.eulerAngles = new Vector3(0f, transform.eulerAngles.y, 0f);
|
|
m_ProjecTileData.shooter.Set_Invisible(2.5f, () =>
|
|
{
|
|
if (m_ProjecTileData.shooter.IsMainPC())
|
|
MyValue.m_RealCamera.Set_FollowTarget(null);
|
|
Off(true);
|
|
});
|
|
|
|
for (int i = 0; i < list_DamgeDelayTime.Count; i++)
|
|
{
|
|
m_Collider.enabled = false;
|
|
yield return new WaitForSeconds(list_DamgeDelayTime[i]);
|
|
m_Collider.enabled = true;
|
|
yield return null;
|
|
}
|
|
}
|
|
} |