using System.Collections.Generic; public partial class PresetUnlockConfig : ConfigBase { static Dictionary> m_PresetUnlockDict = new Dictionary>(); static Dictionary m_UnLockTypeDict = new Dictionary(); // 预设类型 解锁类型,暂约定只有1种 protected override void OnConfigParseCompleted() { if (!m_PresetUnlockDict.ContainsKey(PresetType)) { m_PresetUnlockDict[PresetType] = new Dictionary(); } m_PresetUnlockDict[PresetType][PresetID] = this; if (!m_UnLockTypeDict.ContainsKey(PresetType)) { m_UnLockTypeDict[PresetType] = UnlockType; } else if (m_UnLockTypeDict[PresetType] < UnlockType) { m_UnLockTypeDict[PresetType] = UnlockType; } } public static PresetUnlockConfig GetPresetUnlockConfig(int presetType, int presetID) { if (m_PresetUnlockDict.ContainsKey(presetType) && m_PresetUnlockDict[presetType].ContainsKey(presetID)) { return m_PresetUnlockDict[presetType][presetID]; } return null; } public static int GetUnlockType(int presetType) { if (m_UnLockTypeDict.ContainsKey(presetType)) { return m_UnLockTypeDict[presetType]; } return 0; } public static int GetFuncPresetMaxCount(int presetType) { if (m_PresetUnlockDict.ContainsKey(presetType)) { return m_PresetUnlockDict[presetType].Count; } return 0; } }