Files
ichni_Creator_Studio/Assets/ThemeBundles/Basic/Scripts/NoteVisual/BasicNoteBadExpand.cs
SoulliesOfficial 7ab738cb68 架构重新设计
基本重做了所有物体和次级模块代码
2025-02-08 02:31:39 -05:00

82 lines
2.5 KiB
C#

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 BasicNoteBadExpand : NoteEffectBase
{
Renderer noteMainRenderer;
public BasicNoteBadExpand(NoteBase note)
{
this.note = note;
this.noteVisual = note.noteVisual.GetComponent<BasicNoteVisual>();
this.noteMainRenderer = noteVisual.noteMain.GetComponent<Renderer>();
}
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, 0.2f).SetEase(Ease.OutQuad);
noteVisual.noteMain.transform.DOScale(Vector3.one * 1.5f, 0.2f).SetEase(Ease.OutQuad).OnComplete(() => 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;
}
public override EffectBase_BM ConvertToBM()
{
return new Beatmap.BasicNoteBadExpand_BM(effectTime, note.elementGuid);
}
}
namespace Beatmap
{
public class BasicNoteBadExpand_BM : NoteEffectBase_BM
{
public BasicNoteBadExpand_BM()
{
}
public BasicNoteBadExpand_BM(float effectTime, Guid attachedNoteID) : base(effectTime, attachedNoteID)
{
}
public override EffectBase ConvertToGameType()
{
return new BasicNoteBadExpand(GameElement_BM.GetElement(attachedNoteID) as NoteBase);
}
}
}
}