using System.Collections; using System.Collections.Generic; using Ichni.RhythmGame.Beatmap; using Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap; using Lean.Pool; using UnityEngine; namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse { public class DTMNoteBadBurst : NoteBadEffect { private ParticleSystem effectParticle; public DTMNoteBadBurst(NoteVisualBase noteVisual) { this.note = noteVisual.note; this.noteVisual = noteVisual; this.effectTime = 0f; } 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); } public override EffectBase_BM ConvertToBM() { return new DTMNoteBadBurst_BM(effectTime); } } namespace Beatmap { public class DTMNoteBadBurst_BM : NoteBadEffect_BM { public DTMNoteBadBurst_BM() { } public DTMNoteBadBurst_BM(float effectTime) : base(effectTime) { } public override EffectBase ConvertToGameType(GameElement attachedGameElement) { return new DTMNoteBadBurst(attachedGameElement as NoteVisualBase); } } } }