1234567891011121314151617181920212223242526272829303132333435 |
- using System.Collections.Generic;
- using XGame.Framework.Map;
- namespace FL.Map
- {
- public static partial class MapKeys
- {
- private static Dictionary<string, MapKey> _nameToKeys;
- public static MapKey NameToKey(string mapName)
- {
- if (_nameToKeys == null)
- {
- _nameToKeys = new Dictionary<string, MapKey>();
- }
- if (_nameToKeys.TryGetValue(mapName, out MapKey key))
- {
- return key;
- }
- var property = typeof(MapKeys).GetProperty(mapName, System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.IgnoreCase);
- if (property != null)
- {
- key = property.GetValue(null) as MapKey;
- _nameToKeys.Add(mapName, key);
- return key;
- }
- XGame.Log.Error($"找不到MapKey. mapName:{mapName}");
- return default;
- }
- public static void Dispose()
- {
- _nameToKeys?.Clear();
- _nameToKeys = null;
- }
- }
- }
|