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

86 lines
2.5 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using DG.Tweening;
using Ichni.RhythmGame;
using Ichni.RhythmGame.Beatmap;
using UnityEngine;
namespace Ichni.RhythmGame.ThemeBundles.Basic
{
public class BasicNoteGenerateExpand : NoteEffectBase
{
public float generateTime;
public BasicNoteGenerateExpand(NoteBase note)
{
this.note = note;
this.generateTime = 1f;
this.effectTime = 0.1f;
this.noteVisual = note.noteVisual.GetComponent<BasicNoteVisual>();
}
public override void Recover()
{
noteVisual.noteMain.SetActive(false);
noteVisual.noteMain.transform.localScale = Vector3.zero;
}
public override void Adjust()
{
noteVisual.noteMain.SetActive(true);
noteVisual.noteMain.transform.DOScale(Vector3.one, 0.1f).SetEase(Ease.OutBack);
}
public override EffectState CheckEffectState()
{
float songTime = EditorManager.instance.songModule.songTime;
if (songTime < note.exactJudgeTime - generateTime)
{
return EffectState.Before;
}
if (songTime >= note.exactJudgeTime - generateTime &&
songTime <= note.exactJudgeTime - generateTime + effectTime)
{
return EffectState.Middle;
}
if (songTime > note.exactJudgeTime - generateTime + effectTime)
{
return EffectState.After;
}
return EffectState.Error;
}
public override EffectBase_BM ConvertToBM()
{
return new Beatmap.BasicNoteGenerateExpand_BM(effectTime, generateTime, note.elementGuid);
}
}
namespace Beatmap
{
public class BasicNoteGenerateExpand_BM : NoteEffectBase_BM
{
public float generateTime;
public BasicNoteGenerateExpand_BM()
{
}
public BasicNoteGenerateExpand_BM(float effectTime, float generateTime, Guid attachedNoteID) : base(effectTime, attachedNoteID)
{
this.generateTime = generateTime;
}
public override EffectBase ConvertToGameType()
{
return new BasicNoteGenerateExpand(GameElement_BM.GetElement(attachedNoteID) as NoteBase);
}
}
}
}