using System; using System.Collections.Generic; using Logic.Multilingual; using UnityEngine; public enum StaffTitleEnum { None, CoreTeam, GameDesign, GameArt, ArtSupport, GameDesignSupport, LocalizationSupport, MusicSound, SpecialThanks, GameUI, } [Serializable] [CreateAssetMenu(fileName = "StaffDataAssets", menuName = "TH1 Game Data/Staff Data Asset")] public class StaffDataAssets : ScriptableObject { // 头衔配置: 每个 StaffTitleEnum 对应一个多语言显示名(如 "核心团队" / "Core Team") public List StaffTitleInfoList = new List(); // 名单本体: 每个成员一行 public List StaffList = new List(); /// /// 通过头衔枚举查询头衔信息(显示名) /// public bool GetStaffTitleInfo(StaffTitleEnum title, out StaffTitleInfo info) { info = null; foreach (var t in StaffTitleInfoList) { if (t.Title == title) { info = t; return true; } } return false; } /// /// 按头衔分组取出名单(按 StaffList 原顺序保留) /// public List GetStaffItemsByTitle(StaffTitleEnum title) { var ret = new List(); foreach (var s in StaffList) { if (s.Title == title) ret.Add(s); } return ret; } } [Serializable] public class StaffTitleInfo { public StaffTitleEnum Title; [MultilingualField] public string Name; } [Serializable] public class StaffItem { public StaffTitleEnum Title; [MultilingualField] public string Name; [MultilingualField] public string Desc; }