基础内容-3
Swirl Scale动画 四种Note代码建立 Note Judge Submodule构思中
This commit is contained in:
@@ -11,6 +11,64 @@ namespace Ichni.RhythmGame
|
||||
|
||||
public abstract class EffectBase
|
||||
{
|
||||
public abstract void Execute();
|
||||
public enum EffectState
|
||||
{
|
||||
Before = -1,
|
||||
Middle = 0,
|
||||
After = 1,
|
||||
Error = 100
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 效果的持续时间,如果为0则表示瞬间效果
|
||||
/// </summary>
|
||||
public float effectTime;
|
||||
|
||||
/// <summary>
|
||||
/// 是否是瞬间效果
|
||||
/// </summary>
|
||||
public bool isInstantEffect => effectTime <= 0;
|
||||
|
||||
/// <summary>
|
||||
/// 效果当前的状态
|
||||
/// </summary>
|
||||
public EffectState nowEffectState;
|
||||
|
||||
protected EffectBase()
|
||||
{
|
||||
this.effectTime = 0;
|
||||
this.nowEffectState = EffectState.Before;
|
||||
}
|
||||
|
||||
protected EffectBase(float effectTime)
|
||||
{
|
||||
this.effectTime = effectTime;
|
||||
this.nowEffectState = EffectState.Before;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 在效果的持续时间内,触发这个方法
|
||||
/// </summary>
|
||||
public virtual void Execute()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 如果是非瞬间效果,在效果完成后,触发这个方法;
|
||||
/// 如果是瞬间效果,则此方法即为Execute。原有的Execute方法不被调用。
|
||||
/// </summary>
|
||||
public virtual void Adjust()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 如果时间轴回退到效果的触发时间之前,则触发这个方法
|
||||
/// </summary>
|
||||
public virtual void Recover()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user