using UnityEngine;
|
|
/// <summary>
|
/// 战斗飘字配置 ScriptableObject
|
/// 用于配置飘字的动画效果参数
|
/// </summary>
|
[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;
|
}
|