using UnityEngine; /// /// 战斗飘字配置 ScriptableObject /// 用于配置飘字的动画效果参数 /// [CreateAssetMenu(fileName = "FloatingConfig", menuName = "Battle/FloatingConfig", order = 1)] public class FloatingConfig : ScriptableObject { [Header("Position Settings")] [Tooltip("起始位置偏移")] public Vector2 beginPos = Vector2.zero; [Tooltip("结束位置偏移")] public Vector2 endPos = new Vector2(0, 150); [Tooltip("位置移动曲线 (X轴=时间进度0-1, Y轴=插值进度0-1)")] public AnimationCurve positionCurve = AnimationCurve.Linear(0, 0, 1, 1); [Header("Time Settings")] [Tooltip("缩放变化时间 (约16帧)")] public float scaleChangeTime = 1f / BattleConst.skillMotionFps * 16f + 0.1f; [Tooltip("总显示时间 (约48帧)")] public float totalShowTime = 1f / BattleConst.skillMotionFps * 48f + 0.1f; [Header("Normal Animation Settings")] [Tooltip("普通飘字初始缩放")] public Vector3 normalBeginScale = new Vector3(2f, 2f, 2f); [Tooltip("普通飘字结束缩放")] public Vector3 normalEndScale = new Vector3(1f, 1f, 1f); [Tooltip("普通缩放变化曲线 (X轴=时间进度0-1, Y轴=插值进度0-1)")] public AnimationCurve normalScaleCurve = AnimationCurve.Linear(0, 0, 1, 1); [Header("Critical Animation Settings")] [Tooltip("暴击飘字初始缩放")] public Vector3 critBeginScale = new Vector3(3f, 3f, 3f); [Tooltip("暴击飘字结束缩放")] public Vector3 critEndScale = new Vector3(1.5f, 1.5f, 1.5f); [Tooltip("暴击缩放变化曲线 (X轴=时间进度0-1, Y轴=插值进度0-1)")] public AnimationCurve critScaleCurve = AnimationCurve.Linear(0, 0, 1, 1); [Header("Color Settings")] [Tooltip("初始颜色和透明度")] public Color beginColor = new Color(1f, 1f, 1f, 0.5f); [Tooltip("结束颜色和透明度")] public Color endColor = new Color(1f, 1f, 1f, 1f); [Tooltip("颜色变化曲线 (X轴=时间进度0-1, Y轴=插值进度0-1)")] public AnimationCurve colorCurve = AnimationCurve.Linear(0, 0, 1, 1); [Header("Buff Color Settings")] [Tooltip("正向Buff颜色 (增益buff)")] public Color gainBuffColor = Color.green; [Tooltip("负向Buff颜色 (debuff)")] public Color debuffColor = Color.red; }