using UnityEngine;
using System;
namespace Unity.Cinemachine
{
///
/// This structure holds settings for procedural lookahead.
///
[Serializable]
public struct LookaheadSettings
{
/// Enable or disable procedural lookahead
public bool Enabled;
/// Predict the position this many seconds into the future.
/// Note that this setting is sensitive to noisy animation, and can amplify the noise,
/// resulting in undesirable jitter.
/// If the camera jitters unacceptably when the target is in motion, turn down this setting,
/// or increase the Smoothing setting, or animate the target more smoothly.
[Tooltip("Predict the position this many seconds into the future. "
+ "Note that this setting is sensitive to noisy animation, and can amplify the noise, resulting "
+ "in undesirable jitter. If the camera jitters unacceptably when the target is in motion, "
+ "turn down this setting, or animate the target more smoothly.")]
[Range(0f, 1f)]
public float Time;
/// Controls the smoothness of the lookahead algorithm. Larger values smooth out
/// jittery predictions and also increase prediction lag
[Tooltip("Controls the smoothness of the lookahead algorithm. Larger values smooth "
+ "out jittery predictions and also increase prediction lag")]
[Range(0, 30)]
public float Smoothing;
/// If checked, movement along the Y axis will be ignored for lookahead calculations
[Tooltip("If checked, movement along the Y axis will be ignored for lookahead calculations")]
public bool IgnoreY;
}
}