using UnityEngine; namespace OmiLAXR.Components.Gaze.Pursuit { public abstract class PursuitLogic : ScriptableObject { public abstract void ResetLogic(); /// /// Aktualisiert die Verfolgungs-Statemachine. /// Gibt true zurück, wenn ein Zustandswechsel (Start/Ende) erkannt wurde. /// isStart==true: Pursuit startet (liefert Start-Schnappschuss), /// isStart==false: Pursuit endet (liefert vollständige SmoothPursuitData). /// public abstract bool TryUpdatePursuit( GazeHit currentHit, Vector3 prevEyeDir, Vector3 currEyeDir, Vector3 prevTargetDir, Vector3 currTargetDir, float deltaTime, out bool isStart, out PursuitData data); public static PursuitLogic GetDefault() => CreateInstance(); } }