using System; using Sirenix.OdinInspector; using UnityEngine; [Serializable] public class LineEffectInstance { public enum CurveType { Add, Multiply } [Space(20f)] public bool active = true; [FoldoutGroup("Main Curve", 0, Order = 0, Expanded = true)] public CurveType curveType; [FoldoutGroup("Main Curve", 0, Order = 0, Expanded = true)] public AnimationCurve mainCurve = AnimationCurve.Linear(0f, 0f, 1f, 0f); [FoldoutGroup("Main Curve", 0, Order = 0, Expanded = true)] public float mainCurveMultiplier = 1f; [FoldoutGroup("Main Curve", 0, Order = 0, Expanded = true)] public float mainCurveTiling = 1f; [FoldoutGroup("Main Curve", 0, Order = 0, Expanded = true)] public bool tilingPerMeter = true; [FoldoutGroup("Modifiers", 0)] public AnimationCurve effectOverLineCurve = AnimationCurve.Linear(0f, 1f, 1f, 1f); [FoldoutGroup("Animation", 0)] public float mainCurveScrollSpeed; [FoldoutGroup("Animation", 0)] public AnimationCurve effectOverTimeCurve = AnimationCurve.Linear(0f, 1f, 1f, 0f); }