using System; using System.Collections.Generic; using UnityEngine; namespace XGame { [Serializable] public class CharacterConfigData { public string defaultCharacterId; public Vector3 spawnPosition; public Vector3 spawnEuler; public List characters = new List(); public CharacterConfigItem GetDefault() { CharacterConfigItem item = Find(defaultCharacterId); return item ?? (characters.Count > 0 ? characters[0] : null); } public CharacterConfigItem Find(string id) { if (string.IsNullOrEmpty(id)) { return null; } for (int i = 0; i < characters.Count; i++) { CharacterConfigItem item = characters[i]; if (item != null && string.Equals(item.id, id, StringComparison.OrdinalIgnoreCase)) { return item; } } return null; } } [Serializable] public class CharacterConfigItem { public string id; public string displayName; public string prefabPath; } }