using System; using System.Collections; using System.Collections.Generic; using DG.Tweening; using Ichni.Editor; using Ichni.RhythmGame.Beatmap; using UnityEngine; namespace Ichni.RhythmGame.ThemeBundles.Basic { public class BasicNoteBadExpand : NoteBadEffect { Renderer noteMainRenderer; public BasicNoteBadExpand(NoteVisualBase noteVisual) { this.note = noteVisual.note; this.noteVisual = note.noteVisual; this.noteMainRenderer = noteVisual.noteMain.GetComponent(); this.effectTime = 0.1f; } public override void Recover() { noteVisual.noteMain.SetActive(true); noteVisual.noteMain.transform.localScale = Vector3.one; noteMainRenderer.material.SetColor("_BaseColor", Color.white); } public override void Adjust() { noteMainRenderer.material.DOColor(Color.clear, effectTime).SetEase(Ease.OutQuad); noteVisual.noteMain.transform.DOScale(Vector3.one * 1.5f, effectTime).SetEase(Ease.OutQuad).OnComplete(() => noteVisual.noteMain.SetActive(false)); } public override EffectBase_BM ConvertToBM() { return new Beatmap.BasicNoteBadExpand_BM(effectTime, note.elementGuid); } public override void SetUpInspector() { IHaveInspection inspector = EditorManager.instance.uiManager.inspector; var container = inspector.GenerateContainer("Basic Note Bad Expand"); var effectTimeField = inspector.GenerateParameterInputField(this, container, "Effect Time", nameof(effectTime)); } } namespace Beatmap { public class BasicNoteBadExpand_BM : NoteBadEffect_BM { public BasicNoteBadExpand_BM() { } public BasicNoteBadExpand_BM(float effectTime, Guid attachedNoteID) : base(effectTime, attachedNoteID) { } public override EffectBase ConvertToGameType(GameElement attachedGameElement) { return new BasicNoteBadExpand(attachedGameElement as NoteVisualBase); } } } }