This commit is contained in:
SoulliesOfficial
2026-04-17 12:01:50 -04:00
parent dd2657573a
commit ac98ec3aef
438 changed files with 4505 additions and 428 deletions

View File

@@ -0,0 +1,49 @@
using System;
using Sirenix.OdinInspector;
using UnityEngine;
namespace SLSUtilities.Feedback
{
/// <summary>
/// 轨道上的一个时间片段,包含一个 FeedbackAction 及其时间参数。
/// 曲线控制完全下放到具体 Action 中Clip 只负责时间调度。
/// </summary>
[Serializable]
public class FeedbackClip
{
/// <summary>
/// 片段开始时间(秒)。
/// </summary>
[MinValue(0f)]
public float startTime;
/// <summary>
/// 片段持续时间(秒)。
/// </summary>
[MinValue(0.01f)]
public float duration = 0.1f;
/// <summary>
/// 片段结束时间(秒)。
/// </summary>
public float EndTime => startTime + duration;
/// <summary>
/// 是否覆盖 FeedbackData 的时间设置。
/// </summary>
[Title("Time Override")]
public bool overrideTimeSettings;
/// <summary>
/// 覆盖用的时间设置,仅在 overrideTimeSettings 为 true 时生效。
/// </summary>
[ShowIf("overrideTimeSettings")]
public FeedbackTimeSettings timeSettings = new FeedbackTimeSettings();
/// <summary>
/// 具体反馈动作Odin 自动显示多态类型选择器。
/// </summary>
[Title("Action"), SerializeReference]
public FeedbackActionBase action;
}
}