using System; using System.Collections; using System.Collections.Generic; using DG.Tweening; using Ichni.RhythmGame.Beatmap; using UnityEngine; namespace Ichni.RhythmGame.ThemeBundles.Basic { public class BasicNoteMissPale : NoteEffectBase { Renderer noteMainRenderer; public BasicNoteMissPale(NoteBase note) { this.note = note; this.noteVisual = note.noteVisual.GetComponent(); this.noteMainRenderer = noteVisual.noteMain.GetComponent(); } public override void Recover() { noteVisual.noteMain.SetActive(true); noteMainRenderer.material.SetColor("_BaseColor", Color.white); } public override void Adjust() { noteVisual.noteMain.SetActive(true); noteMainRenderer.material.SetColor("_BaseColor", Color.white / 2f); noteMainRenderer.material.DOColor(Color.clear, 0.2f).SetEase(Ease.OutQuad); } 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; } public override EffectBase_BM ConvertToBM() { return new Beatmap.BasicNoteMissPale_BM(effectTime, note.elementGuid); } } namespace Beatmap { public class BasicNoteMissPale_BM : NoteEffectBase_BM { public BasicNoteMissPale_BM() { } public BasicNoteMissPale_BM(float effectTime, Guid elementGuid) : base(effectTime, elementGuid) { } public override EffectBase ConvertToGameType() { return new BasicNoteMissPale(GameElement_BM.GetElement(attachedNoteID) as NoteBase); } } } }