using System.Collections.Generic; public partial class TimingGiftConfig : ConfigBase { public static Dictionary> typeToGiftIdList = null; private static void LoadTypeToGiftIdList() { if (typeToGiftIdList != null) return; typeToGiftIdList = new Dictionary>(); foreach (var config in GetValues()) { if (!typeToGiftIdList.ContainsKey(config.GiftType)) { typeToGiftIdList[config.GiftType] = new List(); } if (!typeToGiftIdList[config.GiftType].Contains(config.GiftID)) { typeToGiftIdList[config.GiftType].Add(config.GiftID); } } foreach (var type in typeToGiftIdList.Keys) { typeToGiftIdList[type].Sort(); } } public static Dictionary> GetTypeToGiftIdDict() { LoadTypeToGiftIdList(); return typeToGiftIdList; } public static bool TryGetTypeToGiftIdList(int type, out List giftIdList) { giftIdList = null; LoadTypeToGiftIdList(); return !typeToGiftIdList.IsNullOrEmpty() && typeToGiftIdList.TryGetValue(type, out giftIdList) && giftIdList != null; } public static bool TryGetTimingGiftConfig(int id, out TimingGiftConfig config) { config = null; if (!HasKey(id)) return false; config = Get(id); return true; } }