using System; using Sirenix.OdinInspector; using UnityEngine; using UnityEngine.Serialization; namespace SLSUtilities.Feedback { /// /// 时间设置数据结构,控制 Feedback 的时间缩放来源。 /// 同时存在于 FeedbackData(全局默认)和 FeedbackClip(单元覆盖)两个层级。 /// Clip 级设置如果 useTimeScale = true 则覆盖 Data 级设置。 /// [Serializable] public partial class FeedbackTimeSettings { [EnumButtons] public TimeScaleType timeScaleType = TimeScaleType.Global; [FormerlySerializedAs("useDynamicTimeScale")] [Tooltip("是否动态获取当前的时间缩放。启用后,FeedbackPlayer 每帧计算当前综合时间缩放系数并传递给 FeedbackAction。")] [HideIf("timeScaleType", TimeScaleType.Unscaled)] [LabelText("Apply Dynamic")] public bool applyDynamicTimeScale = true; } public partial class FeedbackTimeSettings { public enum TimeScaleType { Unscaled = 0, Global = 1, Group = 2, Local = 3 } } }