using System; using System.Collections.Generic; using UnityEngine; namespace SplashEdit.RuntimeCode { /// /// A single track within a cutscene, driving one property on one target. /// [Serializable] public class PSXCutsceneTrack { [Tooltip("What property this track drives.")] public PSXTrackType TrackType; [Tooltip("Target GameObject name (must match a PSXObjectExporter). Leave empty for camera/UI tracks.")] public string ObjectName = ""; [Tooltip("For UI tracks: canvas name (e.g. 'hud'). Used by UICanvasVisible and to resolve elements.")] public string UICanvasName = ""; [Tooltip("For UI element tracks: element name within the canvas. Used by UIElementVisible, UIProgress, UIPosition, UIColor.")] public string UIElementName = ""; [Tooltip("Keyframes for this track. Sort by frame number.")] public List Keyframes = new List(); /// Returns true if this track type targets a UI canvas or element. public bool IsUITrack => TrackType >= PSXTrackType.UICanvasVisible && TrackType <= PSXTrackType.UIColor; /// Returns true if this track type targets a UI element (not just a canvas). public bool IsUIElementTrack => TrackType >= PSXTrackType.UIElementVisible && TrackType <= PSXTrackType.UIColor; } }