diff --git a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cache.cs b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cache.cs index f561fb96e..0c125f2e5 100644 --- a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cache.cs +++ b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cache.cs @@ -42,6 +42,34 @@ namespace Flax.Build.Bindings } } + internal static void Write(BinaryWriter writer, HashSet list) + { + if (list != null) + { + writer.Write(list.Count()); + foreach (var e in list) + writer.Write(e); + } + else + { + writer.Write(0); + } + } + + internal static void Write(BinaryWriter writer, List list) + { + if (list != null) + { + writer.Write(list.Count()); + foreach (var e in list) + writer.Write(e); + } + else + { + writer.Write(0); + } + } + internal static void Write(BinaryWriter writer, IEnumerable list) { if (list != null) @@ -69,7 +97,7 @@ namespace Flax.Build.Bindings } } - internal static void Write(BinaryWriter writer, IList list) where T : IBindingsCache + internal static void Write(BinaryWriter writer, List list) where T : IBindingsCache { if (list != null) { @@ -88,6 +116,25 @@ namespace Flax.Build.Bindings } } + internal static void Write(BinaryWriter writer, T[] list) where T : IBindingsCache + { + if (list != null) + { + var count = list.Length; + writer.Write(count); + for (int i = 0; i < count; i++) + { + var e = list[i]; + writer.Write(e.GetType().FullName); + e.Write(writer); + } + } + else + { + writer.Write(0); + } + } + internal static string Read(BinaryReader reader, string e) { var valid = reader.ReadBoolean();