86 lines
2.5 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
} |