From 480d4c6fbabc65a0822cd3954e488bf64d04b45c Mon Sep 17 00:00:00 2001 From: Ignacio Etcheverry Date: Tue, 5 Mar 2019 21:39:50 +0100 Subject: C#: Support type hints for exported Arrays Added the code for Dictionary as well, but it's not yet supported by the Godot inspector. --- modules/mono/glue/Managed/Files/MarshalUtils.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'modules/mono/glue') 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 and IDictionary // TODO: EnumerableToArray and IDictionaryToDictionary can be optimized internal static void EnumerableToArray(IEnumerable enumerable, IntPtr godotArrayPtr) -- cgit v1.2.3