2025-05-05 00:45:45 +00:00
|
|
|
using System.Collections;
|
2025-01-16 06:07:21 +00:00
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
public class Skill_ShadowSlash : ProjectileBase
|
|
|
|
|
{
|
|
|
|
|
public Projectile_StopAndColliderControl go_effect;
|
2025-05-05 00:45:45 +00:00
|
|
|
public GameObject go_invisibleEffect;
|
2025-01-16 06:07:21 +00:00
|
|
|
|
|
|
|
|
public override void Set(ProjectileData _data)
|
|
|
|
|
{
|
|
|
|
|
go_effect.gameObject.SetActive(false);
|
|
|
|
|
base.Set(_data);
|
2025-05-05 00:45:45 +00:00
|
|
|
|
2025-03-06 23:52:59 +00:00
|
|
|
OptionInfo.Ins.Set_PCMove(_data.shooter, false);
|
2025-01-16 06:07:21 +00:00
|
|
|
_data.shooter.Set_CurAnim(eAnim.Skill);
|
2025-05-05 00:45:45 +00:00
|
|
|
|
|
|
|
|
Show_InvisibleEffect();
|
|
|
|
|
//_data.shooter.Jump(2.1f, 1f, 10f, 1f, () =>
|
2026-10-21 08:40:26 +00:00
|
|
|
_data.shooter.Set_Invisible(WL.Combat.Weapon.WLShadowSlash.InvisibleSeconds(2.1f), () => // WL #962 숨김 시간 = 난사 시간(이펙트 1회 길이 · WLShadowSlash.json invisibleMatch · 끄면 원본 2.1 s)
|
2025-01-16 06:07:21 +00:00
|
|
|
{
|
2025-03-06 23:52:59 +00:00
|
|
|
OptionInfo.Ins.Set_PCMove(_data.shooter, true);
|
2026-10-21 07:56:27 +00:00
|
|
|
if (WL.Combat.Weapon.WLShadowSlash.SkipEnd(_data.shooter)) return; // WL #961 구르기로 캔슬된 시전 — 끝 대기 · 대상 뒤 순간이동 · 연기 · 카메라 돌리기 생략
|
2025-01-16 06:07:21 +00:00
|
|
|
_data.shooter.Play_Idle();
|
2025-05-05 00:45:45 +00:00
|
|
|
|
|
|
|
|
if (!DSUtil.CheckNull(_data.target))
|
|
|
|
|
_data.shooter.Set_Warp(_data.target.Get_PositionBack(1.5f));
|
|
|
|
|
|
|
|
|
|
Show_InvisibleEffect();
|
2025-01-16 06:07:21 +00:00
|
|
|
});
|
2026-10-18 18:48:42 +00:00
|
|
|
WL.Combat.Weapon.WLShadowSlash.OnSet(this); // WL #943-⑧ 훅(1줄) — 숨김 직후 렌더러 · 무기 다시 켬 + 베기 · 연기 크기 배율(WLShadowSlash.json) · 무적 · 2.1 초 뒤 순간이동은 원본 그대로
|
2025-01-16 06:07:21 +00:00
|
|
|
|
2025-05-05 00:45:45 +00:00
|
|
|
StartCoroutine(Co_Update());
|
2025-01-16 06:07:21 +00:00
|
|
|
StartCoroutine(Co_Off(4f));
|
|
|
|
|
}
|
2025-05-05 00:45:45 +00:00
|
|
|
|
|
|
|
|
void Show_InvisibleEffect()
|
|
|
|
|
{
|
|
|
|
|
go_invisibleEffect.SetActive(false);
|
|
|
|
|
go_invisibleEffect.SetActive(true);
|
|
|
|
|
go_invisibleEffect.transform.position = m_ProjecTileData.shooter.Get_position();
|
|
|
|
|
|
2026-10-18 15:09:05 +00:00
|
|
|
if (MyValue.m_RealCamera != null) MyValue.m_RealCamera.RotateCam_TargetBack(); // WL #881 섬(메인 카메라 = FarmingIsland · RealCamera 없음)에서 NRE → 카메라 연출만 건너뜀
|
2025-05-05 00:45:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
IEnumerator Co_Update()
|
|
|
|
|
{
|
|
|
|
|
yield return new WaitForSeconds(0.5f);
|
|
|
|
|
|
|
|
|
|
go_effect.gameObject.SetActive(true);
|
|
|
|
|
go_effect.Set(m_ProjecTileData);
|
|
|
|
|
go_effect.transform.position = m_ProjecTileData.shooter.Get_CenterPositionFoward(1.5f);
|
|
|
|
|
}
|
2025-01-16 06:07:21 +00:00
|
|
|
}
|