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