2025-05-02 20:49:31 +00:00
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
2025-01-15 22:32:07 +00:00
|
|
|
using UnityEngine;
|
|
|
|
|
|
2025-01-10 02:42:37 +00:00
|
|
|
public class Skill_DashSlash : ProjectileBase
|
|
|
|
|
{
|
2025-01-15 22:32:07 +00:00
|
|
|
public GameObject go_effect;
|
2025-05-02 20:49:31 +00:00
|
|
|
public List<float> list_DamgeDelayTime = new List<float>();
|
|
|
|
|
public Collider m_Collider;
|
2025-01-15 22:32:07 +00:00
|
|
|
|
2025-01-10 02:42:37 +00:00
|
|
|
public override void Set(ProjectileData _data)
|
|
|
|
|
{
|
|
|
|
|
base.Set(_data);
|
2025-01-15 22:32:07 +00:00
|
|
|
go_effect.SetActive(false);
|
2025-05-02 20:49:31 +00:00
|
|
|
m_Collider.enabled = false;
|
2026-10-18 15:09:05 +00:00
|
|
|
if (WL.Combat.Weapon.WLSlashFlurry.Take(this, go_effect, m_Collider, list_DamgeDelayTime)) return; // WL #888 사라지지 않고 1·2타 빠른 연속 베기 — 이펙트 · 판정은 시전자 앞(캐릭터 크기)
|
2025-05-02 20:49:31 +00:00
|
|
|
_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()
|
|
|
|
|
{
|
2025-05-02 22:12:43 +00:00
|
|
|
m_ProjecTileData.shooter.Set_Warp(m_ProjecTileData.target.Get_PositionFoward(1f));
|
2026-10-18 15:09:05 +00:00
|
|
|
if (m_ProjecTileData.shooter.IsMainPC() && MyValue.m_RealCamera != null) // WL #881 섬 RealCamera 없음 가드
|
2025-05-02 22:12:43 +00:00
|
|
|
MyValue.m_RealCamera.Set_FollowTarget(m_ProjecTileData.target);
|
|
|
|
|
yield return new WaitForSeconds(0.5f);
|
2025-05-02 20:49:31 +00:00
|
|
|
go_effect.SetActive(true);
|
2025-05-02 22:12:43 +00:00
|
|
|
transform.LookAt(m_ProjecTileData.target.transform);
|
|
|
|
|
transform.eulerAngles = new Vector3(0f, transform.eulerAngles.y, 0f);
|
2025-05-02 20:49:31 +00:00
|
|
|
m_ProjecTileData.shooter.Set_Invisible(2.5f, () =>
|
2025-01-15 22:32:07 +00:00
|
|
|
{
|
2026-10-18 15:09:05 +00:00
|
|
|
if (m_ProjecTileData.shooter.IsMainPC() && MyValue.m_RealCamera != null) // WL #881 섬 RealCamera 없음 가드
|
2025-05-02 22:12:43 +00:00
|
|
|
MyValue.m_RealCamera.Set_FollowTarget(null);
|
2025-05-02 20:49:31 +00:00
|
|
|
Off(true);
|
2025-01-15 22:32:07 +00:00
|
|
|
});
|
2025-05-02 20:49:31 +00:00
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
}
|
2025-01-10 02:42:37 +00:00
|
|
|
}
|
|
|
|
|
}
|