diff options
Diffstat (limited to 'modules/mono/glue/Managed/Files/MarshalUtils.cs')
-rw-r--r-- | modules/mono/glue/Managed/Files/MarshalUtils.cs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/modules/mono/glue/Managed/Files/MarshalUtils.cs b/modules/mono/glue/Managed/Files/MarshalUtils.cs index c67cda55bf..7e72b0edb5 100644 --- a/modules/mono/glue/Managed/Files/MarshalUtils.cs +++ b/modules/mono/glue/Managed/Files/MarshalUtils.cs @@ -18,6 +18,20 @@ namespace Godot return type.GetGenericTypeDefinition() == typeof(Godot.Collections.Dictionary<,>); } + static void ArrayGetElementType(Type type, out Type elementType) + { + elementType = type.GetGenericArguments()[0]; + } + + static void DictionaryGetKeyValueTypes(Type type, out Type keyType, out Type valueType) + { + var genericArgs = type.GetGenericArguments(); + + keyType = genericArgs[0]; + valueType = genericArgs[1]; + } + + // TODO Add support for IEnumerable<T> and IDictionary<TKey, TValue> // TODO: EnumerableToArray and IDictionaryToDictionary can be optimized internal static void EnumerableToArray(IEnumerable enumerable, IntPtr godotArrayPtr) |