using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.Playables; public class BossTimelineBinder : MonoBehaviour { [Serializable] public class BossActionNode { [Header("动作名,仅用于显示")] public string actionName; [Header("动作节点")] public GameObject actionNode; [Header("用于搜索 Timeline 的关键字。比如 attacked01 / attacked02 / show / attack")] public string timelineKeyword; } [Serializable] public class BossEntry { [Header("Boss 名称,仅用于显示")] public string bossName; [Header("外层 Boss 根节点,比如 atlantis_boss_2")] public GameObject bossRoot; [Header("挂在外层 Boss 根节点上的 PlayableDirector")] public PlayableDirector director; [Header("动作容器,一般是 bossRoot 下名为 boss 的子节点")] public Transform actionContainer; [Header("动作列表")] public List actionNodes = new List(); } [Header("Timeline 总目录,例如 Assets/.../EventBossFightAtlantis/Timeline")] public string timelineRootFolder; [Header("Boss 列表")] public List bosses = new List(); [HideInInspector] public int selectedBossIndex = 0; [HideInInspector] public int selectedActionIndex = 0; }