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

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