using System.Collections; using UnityEngine; public class Skill_DarkAmbush : ProjectileBase { public Projectile_StopAndColliderControl colliderControl; public override void Set(ProjectileData _data) { _data.eStartPos = eProjectileStartPos.Shooter; base.Set(_data); transform.eulerAngles = Vector3.zero; WL.Combat.Weapon.WLGhostStrike.OnSet(this); // WL #943-⑦ 훅(1줄) — 폭발(Exp_*) 자리마다 PC 공격 자세 실루엣(WLGhostStrike.json) · 원본 진행 · 피해 그대로 StartCoroutine(Co_Update()); } IEnumerator Co_Update() { colliderControl.gameObject.SetActive(false); colliderControl.Set(m_ProjecTileData); m_ProjecTileData.shooter.Set_Invisible(WL.Combat.Weapon.WLGhostStrike.InvisibleSeconds(this, 1.5f), null); // WL #965 숨김 = 이펙트가 끝나는 시각(WLGhostStrike.json invisibleMatchFx · 끄면 원본 1.5 s) bool keepCam = WL.Combat.Weapon.WLGhostStrike.KeepCamera(this); // WL #953 PD 「카메라 각도를 바꾸지 말고 현재 상태로 착지」 — 규칙(WLGhostStrike.json keepCamera)이면 탑뷰 전환 생략 if (MyValue.m_RealCamera != null && !keepCam) MyValue.m_RealCamera.Set_TopView(m_ProjecTileData.shooter); // WL #881 섬 RealCamera 없음 가드 yield return new WaitForSeconds(0.25f); colliderControl.gameObject.SetActive(true); yield return new WaitForSeconds(1.75f); if (MyValue.m_RealCamera != null && !keepCam) MyValue.m_RealCamera.Set_TopView(null); // WL #881 섬 RealCamera 없음 가드 Off(true); } protected override void Off(bool forceoff = false, bool showtimeovereffect = true) { base.Off(forceoff, showtimeovereffect); if (isProjectiledata && !DSUtil.CheckNull(m_ProjecTileData.shooter)) m_ProjecTileData.shooter.Play_Idle(); } }