Files
ft/Client/Assets/Scripts/EventBossFight/Editor/BossTimelineBinder.cs
2026-06-29 21:18:33 +08:00

48 lines
1.4 KiB
C#

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<BossActionNode> actionNodes = new List<BossActionNode>();
}
[Header("Timeline 总目录,例如 Assets/.../EventBossFightAtlantis/Timeline")]
public string timelineRootFolder;
[Header("Boss 列表")]
public List<BossEntry> bosses = new List<BossEntry>();
[HideInInspector] public int selectedBossIndex = 0;
[HideInInspector] public int selectedActionIndex = 0;
}