Files
Cielonos/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraDistanceAction.cs
SoulliesOfficial 9a9e48f8a5
2026-06-27 12:52:03 -04:00

38 lines
1.1 KiB
C#

using System;
using Sirenix.OdinInspector;
using SLSUtilities.Feedback;
using UnityEngine;
namespace Cielonos.MainGame.Effects.Feedback
{
/// <summary>
/// 摄像机距离(Distance)反馈动作,通过 CameraDistanceShakeEvent 触发 CameraDistanceShaker。
/// </summary>
[Serializable]
[FeedbackActionColor(0.2f, 0.8f, 0.9f)]
public class CameraDistanceAction : CinemachineActionBase
{
public override string DisplayName => "Camera Distance";
[TitleGroup("距离设置")]
[LabelText("距离曲线")]
public FloatCurveChannel distanceCurve = FloatCurveChannel.CreateDefault();
protected override void TriggerEvent(FeedbackContext context)
{
CameraDistanceShakeEvent.Trigger(context, distanceCurve);
}
protected override void StopEvent(FeedbackContext context)
{
CameraDistanceShakeEvent.Trigger(context, distanceCurve, true);
}
public override bool Validate(out string error)
{
error = null;
return true;
}
}
}