35 lines
		
	
	
		
			896 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			896 B
		
	
	
	
		
			C#
		
	
	
	
	
	
| using FishNet.Documenting;
 | |
| using System.Collections.Generic;
 | |
| 
 | |
| namespace FishNet.Utility.Extension
 | |
| {
 | |
|     [APIExclude]
 | |
|     public static class DictionaryFN
 | |
|     {
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Uses a hacky way to TryGetValue on a dictionary when using IL2CPP and on mobile.
 | |
|         /// This is to support older devices that don't properly handle IL2CPP builds.
 | |
|         /// </summary>
 | |
|         public static bool TryGetValueIL2CPP<TKey, TValue>(this IDictionary<TKey, TValue> dict, TKey key, out TValue value)
 | |
|         {
 | |
| #if ENABLE_IL2CPP && UNITY_IOS || UNITY_ANDROID
 | |
|             if (dict.ContainsKey(key))
 | |
|             {
 | |
|                 value = dict[key];
 | |
|                 return true;
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 value = default;
 | |
|                 return false;
 | |
|             }
 | |
| #else
 | |
|             return dict.TryGetValue(key, out value);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
| 
 | |
|     }
 | |
| 
 | |
| } |