60 lines
1.7 KiB
C#
60 lines
1.7 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace Ichni.RhythmGame
|
|
{
|
|
public abstract class NoteHoldingEffect : NoteEffectBase
|
|
{
|
|
public float GetHoldingTime()
|
|
{
|
|
return (note as Hold).holdEndTime - note.exactJudgeTime;
|
|
}
|
|
|
|
public override void UpdateEffect(float triggerTime)
|
|
{
|
|
EffectState state = CheckEffectState(triggerTime);
|
|
float songTime = GameManager.instance.songTime;
|
|
|
|
if (state == EffectState.Before && nowEffectState != EffectState.Before)
|
|
{
|
|
nowEffectState = EffectState.Before;
|
|
effectProgressPercent = 0;
|
|
Recover();
|
|
}
|
|
else if (state == EffectState.Middle && (note as Hold).preJudgeType != NoteBase.NoteJudgeType.NotJudged)
|
|
{
|
|
if (nowEffectState == EffectState.Before)
|
|
{
|
|
PreExecute();
|
|
}
|
|
|
|
nowEffectState = EffectState.Middle;
|
|
effectProgressPercent = (songTime - triggerTime) / effectTime;
|
|
Execute();
|
|
}
|
|
else if (state == EffectState.After && nowEffectState != EffectState.After)
|
|
{
|
|
nowEffectState = EffectState.After;
|
|
effectProgressPercent = 1;
|
|
Adjust();
|
|
}
|
|
}
|
|
}
|
|
|
|
namespace Beatmap
|
|
{
|
|
public abstract class NoteHoldingEffect_BM : NoteEffectBase_BM
|
|
{
|
|
public NoteHoldingEffect_BM()
|
|
{
|
|
|
|
}
|
|
|
|
public NoteHoldingEffect_BM(float effectTime) : base(effectTime)
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|
|
} |