78 lines
2.6 KiB
C#
78 lines
2.6 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using DG.Tweening;
|
|
using Dreamteck.Splines;
|
|
using Ichni.RhythmGame.Beatmap;
|
|
using Ichni.RhythmGame.ThemeBundles.Basic.Beatmap;
|
|
using UnityEngine;
|
|
|
|
namespace Ichni.RhythmGame.ThemeBundles.Basic
|
|
{
|
|
public class BasicNoteGenerateExpand : NoteGenerateEffect
|
|
{
|
|
public BasicNoteGenerateExpand(NoteVisualBase noteVisual)
|
|
{
|
|
this.note = noteVisual.note;
|
|
this.noteVisual = noteVisual;
|
|
this.generateTime = 1f;
|
|
this.effectTime = 0.1f;
|
|
}
|
|
|
|
public override void Recover()
|
|
{
|
|
noteVisual.noteMain.SetActive(false);
|
|
noteVisual.noteMain.transform.localScale = Vector3.zero;
|
|
|
|
if (noteVisual is BasicHoldVisualMesh holdVisualMesh)
|
|
{
|
|
holdVisualMesh.notePartList[1].SetActive(false);
|
|
holdVisualMesh.notePartList[1].GetComponent<MeshGenerator>().size = 0;
|
|
holdVisualMesh.notePartList[2].SetActive(false);
|
|
holdVisualMesh.notePartList[2].transform.localScale = Vector3.zero;
|
|
}
|
|
}
|
|
|
|
public override void Adjust()
|
|
{
|
|
noteVisual.noteMain.SetActive(true);
|
|
noteVisual.noteMain.transform.DOScale(Vector3.one, effectTime).SetEase(Ease.OutBack);
|
|
|
|
if (noteVisual is BasicHoldVisualMesh holdVisualMesh)
|
|
{
|
|
holdVisualMesh.notePartList[1].SetActive(true);
|
|
MeshGenerator meshGenerator = holdVisualMesh.notePartList[1].GetComponent<MeshGenerator>();
|
|
DOTween.To(() => meshGenerator.size, x => meshGenerator.size = x, 1, effectTime).SetEase(Ease.OutBack);
|
|
holdVisualMesh.notePartList[2].SetActive(true);
|
|
holdVisualMesh.notePartList[2].transform.DOScale(Vector3.one, effectTime).SetEase(Ease.OutBack);
|
|
}
|
|
}
|
|
|
|
public override EffectBase_BM ConvertToBM()
|
|
{
|
|
return new BasicNoteGenerateExpand_BM(effectTime, generateTime);
|
|
}
|
|
}
|
|
|
|
namespace Beatmap
|
|
{
|
|
public class BasicNoteGenerateExpand_BM : NoteGenerateEffect_BM
|
|
{
|
|
public BasicNoteGenerateExpand_BM()
|
|
{
|
|
|
|
}
|
|
|
|
public BasicNoteGenerateExpand_BM(float effectTime, float generateTime) :
|
|
base(effectTime, generateTime)
|
|
{
|
|
|
|
}
|
|
|
|
public override EffectBase ConvertToGameType(GameElement attachedGameElement)
|
|
{
|
|
return new BasicNoteGenerateExpand(attachedGameElement as NoteVisualBase);
|
|
}
|
|
}
|
|
}
|
|
} |