using System.Collections; using System.Collections.Generic; using DG.Tweening; using UnityEngine; namespace Ichni.RhythmGame.ThemeBundles.Basic { public class BasicNoteGoodBurst : NoteEffectBase { private GameObject effectRing; public BasicNoteGoodBurst(NoteBase note) { this.note = note; this.noteVisual = note.noteVisual.GetComponent(); this.effectRing = noteVisual.effectPartList[0]; } public override void Recover() { effectRing.SetActive(false); effectRing.transform.localScale = Vector3.zero; effectRing.GetComponent().color = Color.white; noteVisual.noteMain.SetActive(true); } public override void Adjust() { effectRing.gameObject.SetActive(true); effectRing.transform.DOScale(Vector3.one * 0.5f, 0.1f).SetEase(Ease.OutQuad); effectRing.GetComponent().DOFade(0, 0.1f).SetEase(Ease.OutQuad).OnComplete(() => effectRing.SetActive(false)); noteVisual.noteMain.SetActive(false); } public override EffectState CheckEffectState() { float songTime = EditorManager.instance.songModule.songTime; if (songTime < note.exactJudgeTime ) { return EffectState.Before; } if (songTime >= note.exactJudgeTime && songTime <= note.exactJudgeTime + effectTime) { return EffectState.Middle; } if (songTime > note.exactJudgeTime + effectTime) { return EffectState.After; } return EffectState.Error; } } }