using System; using System.Collections.Generic; namespace Godot { internal static class MarshalUtils { private static Dictionary ArraysToDictionary(object[] keys, object[] values) { Dictionary ret = new Dictionary(); for (int i = 0; i < keys.Length; i++) { ret.Add(keys[i], values[i]); } return ret; } private static void DictionaryToArrays(Dictionary from, out object[] keysTo, out object[] valuesTo) { Dictionary.KeyCollection keys = from.Keys; keysTo = new object[keys.Count]; keys.CopyTo(keysTo, 0); Dictionary.ValueCollection values = from.Values; valuesTo = new object[values.Count]; values.CopyTo(valuesTo, 0); } private static Type GetDictionaryType() { return typeof(Dictionary); } } }