This commit is contained in:
SoulliesOfficial
2025-07-10 08:42:30 -04:00
parent 150ef744e8
commit e483cfe502
286 changed files with 31518 additions and 947 deletions

View File

@@ -157,14 +157,16 @@ namespace Ichni.RhythmGame
After = 1,
Error = 100
}
public BaseElement_BM matchedBM { get; set; }
public GameElement attachedGameElement;
/// <summary>
/// 效果的持续时间如果为0则表示瞬间效果
/// </summary>
public float effectTime;
/// <summary>
/// 是否是瞬间效果
/// </summary>
@@ -174,7 +176,7 @@ namespace Ichni.RhythmGame
/// 效果的进度百分比
/// </summary>
public float effectProgressPercent;
/// <summary>
/// 效果当前的状态
/// </summary>
@@ -193,7 +195,7 @@ namespace Ichni.RhythmGame
this.nowEffectState = EffectState.Before;
this.effectProgressPercent = 0;
}
public void SaveBM()
{
throw new System.NotImplementedException();
@@ -203,7 +205,7 @@ namespace Ichni.RhythmGame
{
EffectState state = CheckEffectState(triggerTime);
float songTime = GameManager.instance.songTime;
if (state == EffectState.Before && nowEffectState != EffectState.Before)
{
nowEffectState = EffectState.Before;
@@ -216,7 +218,7 @@ namespace Ichni.RhythmGame
{
PreExecute();
}
nowEffectState = EffectState.Middle;
effectProgressPercent = (songTime - triggerTime) / effectTime;
Execute();
@@ -251,21 +253,21 @@ namespace Ichni.RhythmGame
return EffectState.Error;
}
/// <summary>
/// 当从Before状态进入Middle状态时仅在效果的开始时触发一次方法
/// </summary>
public virtual void PreExecute()
{
}
/// <summary>
/// 在效果的持续时间内,触发这个方法
/// </summary>
public virtual void Execute()
{
}
/// <summary>
@@ -274,7 +276,7 @@ namespace Ichni.RhythmGame
/// </summary>
public virtual void Adjust()
{
}
/// <summary>
@@ -282,6 +284,14 @@ namespace Ichni.RhythmGame
/// </summary>
public virtual void Recover()
{
}
/// <summary>
/// 如果效果被打断,则触发这个方法
/// </summary>
public virtual void Disrupt()
{
}