using Lean.Pool; using UnityEngine; namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse { public class DTMNoteBadBurst : NoteBadEffect { #region [效果属性与状态] Effect Fields & States private ParticleSystem effectParticle; #endregion #region [初始化] Initialization public DTMNoteBadBurst(NoteVisualBase noteVisual) { this.note = noteVisual.note; this.noteVisual = noteVisual; this.effectTime = 0f; } #endregion #region [效果核心实现] Core Effect Implementation public override void Recover() { noteVisual.noteMain.SetActive(true); } public override void Adjust() { effectParticle = LeanPool.Spawn(noteVisual.effectPrefabList[2], noteVisual.judgeEffect.transform).GetComponent(); effectParticle.transform.SetParent(GameManager.Instance.cameraManager.gameCamera.transform); effectParticle.Play(); noteVisual.noteMain.SetActive(false); if (note is Hold) { noteVisual.extraPartList[0].gameObject.SetActive(false); } LeanPool.Despawn(effectParticle.gameObject, 1); } #endregion } }