using System.Collections.Generic; using System.Linq; using Cielonos.Core; using Sirenix.OdinInspector; using UnityEngine; namespace Cielonos.MainGame.Map { [CreateAssetMenu(fileName = "MapBaseCollection", menuName = "Cielonos/BaseCollections/MainGameBaseCollection")] public partial class MapBaseCollection : BaseCollection { [Title("Spawn Points"), SerializeField] [Tooltip("不同组别对应的颜色,用于编辑器显示。注意,只需要SpawnPoint的groupName包含该字符串即可匹配。")] private Dictionary _groupColors = new Dictionary(); public static Dictionary GroupColors => Instance._groupColors; public Color GetGroupColor(string groupName) { if (!string.IsNullOrEmpty(groupName)) { foreach (var pair in _groupColors.Where(pair => groupName.Contains(pair.Key))) { return pair.Value; } } return Color.white; } } public partial class MapBaseCollection { [Title("Runtime Objects"), SerializeField] private Dictionary _interactables = new Dictionary(); public static Dictionary Interactables => Instance._interactables; } public partial class MapBaseCollection { [SerializeField] private Dictionary _enemies = new Dictionary(); public static Dictionary Enemies => Instance._enemies; } }