Optimize out System.ComponentModel.TypeConverter assembly usage to reduce cooked game builds

This commit is contained in:
Wojtek Figat
2023-04-03 13:51:33 +02:00
parent 493f3430bc
commit e995736012
31 changed files with 76 additions and 29 deletions

View File

@@ -39,6 +39,7 @@ public class Editor : EditorModule
options.ScriptingAPI.SystemReferences.Add("System.Private.Xml");
options.ScriptingAPI.SystemReferences.Add("System.Text.RegularExpressions");
options.ScriptingAPI.SystemReferences.Add("System.ComponentModel.TypeConverter");
options.PublicDependencies.Add("Engine");
options.PrivateDependencies.Add("pugixml");

View File

@@ -1,7 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System;
using System.ComponentModel;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -9,7 +8,9 @@ using System.Runtime.InteropServices;
namespace FlaxEngine
{
[Serializable]
[TypeConverter(typeof(TypeConverters.ColorConverter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.ColorConverter))]
#endif
partial struct Color
{
/// <summary>

View File

@@ -55,7 +55,6 @@ using Real = System.Single;
* THE SOFTWARE.
*/
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -63,7 +62,9 @@ using System.Runtime.InteropServices;
namespace FlaxEngine
{
[Serializable]
[TypeConverter(typeof(TypeConverters.Double2Converter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.Double2Converter))]
#endif
partial struct Double2 : IEquatable<Double2>, IFormattable
{
private static readonly string _formatString = "X:{0:F2} Y:{1:F2}";

View File

@@ -56,7 +56,6 @@ using Real = System.Single;
*/
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -64,7 +63,9 @@ using System.Runtime.InteropServices;
namespace FlaxEngine
{
[Serializable]
[TypeConverter(typeof(TypeConverters.Double3Converter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.Double3Converter))]
#endif
partial struct Double3 : IEquatable<Double3>, IFormattable
{
private static readonly string _formatString = "X:{0:F2} Y:{1:F2} Z:{2:F2}";

View File

@@ -56,7 +56,6 @@ using Real = System.Single;
*/
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -64,7 +63,9 @@ using System.Runtime.InteropServices;
namespace FlaxEngine
{
[Serializable]
[TypeConverter(typeof(TypeConverters.Double4Converter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.Double4Converter))]
#endif
partial struct Double4 : IEquatable<Double4>, IFormattable
{
private static readonly string _formatString = "X:{0:F2} Y:{1:F2} Z:{2:F2} W:{3:F2}";

View File

@@ -50,7 +50,6 @@
*/
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -58,7 +57,9 @@ using System.Runtime.InteropServices;
namespace FlaxEngine
{
[Serializable]
[TypeConverter(typeof(TypeConverters.Float2Converter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.Float2Converter))]
#endif
partial struct Float2 : IEquatable<Float2>, IFormattable
{
private static readonly string _formatString = "X:{0:F2} Y:{1:F2}";

View File

@@ -50,7 +50,6 @@
*/
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -58,7 +57,9 @@ using System.Runtime.InteropServices;
namespace FlaxEngine
{
[Serializable]
[TypeConverter(typeof(TypeConverters.Float3Converter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.Float3Converter))]
#endif
partial struct Float3 : IEquatable<Float3>, IFormattable
{
private static readonly string _formatString = "X:{0:F2} Y:{1:F2} Z:{2:F2}";

View File

@@ -50,7 +50,6 @@
*/
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -58,7 +57,9 @@ using System.Runtime.InteropServices;
namespace FlaxEngine
{
[Serializable]
[TypeConverter(typeof(TypeConverters.Float4Converter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.Float4Converter))]
#endif
partial struct Float4 : IEquatable<Float4>, IFormattable
{
private static readonly string _formatString = "X:{0:F2} Y:{1:F2} Z:{2:F2} W:{3:F2}";

View File

@@ -1,7 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -12,7 +11,9 @@ namespace FlaxEngine
/// Represents a two dimensional mathematical vector (signed integers).
/// </summary>
[Serializable]
[TypeConverter(typeof(TypeConverters.Int2Converter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.Int2Converter))]
#endif
partial struct Int2 : IEquatable<Int2>, IFormattable
{
private static readonly string _formatString = "X:{0} Y:{1}";

View File

@@ -1,7 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -12,7 +11,9 @@ namespace FlaxEngine
/// Represents a three dimensional mathematical vector (signed integers).
/// </summary>
[Serializable]
[TypeConverter(typeof(TypeConverters.Int3Converter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.Int3Converter))]
#endif
partial struct Int3 : IEquatable<Int3>, IFormattable
{
private static readonly string _formatString = "X:{0} Y:{1} Z:{2}";

View File

@@ -1,7 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -12,7 +11,9 @@ namespace FlaxEngine
/// Represents a four dimensional mathematical vector (signed integers).
/// </summary>
[Serializable]
[TypeConverter(typeof(TypeConverters.Int4Converter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.Int4Converter))]
#endif
partial struct Int4 : IEquatable<Int4>, IFormattable
{
private static readonly string _formatString = "X:{0} Y:{1} Z:{2} W:{3}";

View File

@@ -50,7 +50,6 @@
*/
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -58,7 +57,9 @@ using System.Runtime.InteropServices;
namespace FlaxEngine
{
[Serializable]
[TypeConverter(typeof(TypeConverters.QuaternionConverter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.QuaternionConverter))]
#endif
partial struct Quaternion : IEquatable<Quaternion>, IFormattable
{
private static readonly string _formatString = "X:{0:F2} Y:{1:F2} Z:{2:F2} W:{3:F2}";

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -55,3 +56,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -51,3 +52,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -51,3 +52,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -51,3 +52,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -51,3 +52,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -51,3 +52,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -51,3 +52,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -51,3 +52,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -51,3 +52,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -51,3 +52,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -51,3 +52,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -51,3 +52,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -51,3 +52,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#if FLAX_EDITOR
using System;
using System.ComponentModel;
using System.Globalization;
@@ -51,3 +52,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -55,7 +55,6 @@ using Real = System.Single;
* THE SOFTWARE.
*/
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -68,7 +67,9 @@ namespace FlaxEngine
[Unmanaged]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
[TypeConverter(typeof(TypeConverters.Vector2Converter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.Vector2Converter))]
#endif
public unsafe partial struct Vector2 : IEquatable<Vector2>, IFormattable
{
private static readonly string _formatString = "X:{0:F2} Y:{1:F2}";

View File

@@ -55,7 +55,6 @@ using Real = System.Single;
* THE SOFTWARE.
*/
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -68,7 +67,9 @@ namespace FlaxEngine
[Unmanaged]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
[TypeConverter(typeof(TypeConverters.Vector3Converter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.Vector3Converter))]
#endif
public unsafe partial struct Vector3 : IEquatable<Vector3>, IFormattable
{
private static readonly string _formatString = "X:{0:F2} Y:{1:F2} Z:{2:F2}";

View File

@@ -55,7 +55,6 @@ using Real = System.Single;
* THE SOFTWARE.
*/
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -68,7 +67,9 @@ namespace FlaxEngine
[Unmanaged]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
[TypeConverter(typeof(TypeConverters.Vector4Converter))]
#if FLAX_EDITOR
[System.ComponentModel.TypeConverter(typeof(TypeConverters.Vector4Converter))]
#endif
public partial struct Vector4 : IEquatable<Vector4>, IFormattable
{
private static readonly string _formatString = "X:{0:F2} Y:{1:F2} Z:{2:F2} W:{3:F2}";

View File

@@ -7,7 +7,9 @@ using System.Runtime.CompilerServices;
namespace FlaxEngine
{
#if FLAX_EDITOR
[TypeConverter(typeof(TypeConverters.TagConverter))]
#endif
partial struct Tag : IEquatable<Tag>, IEquatable<string>, IComparable, IComparable<Tag>, IComparable<string>
{
/// <summary>
@@ -252,6 +254,7 @@ namespace FlaxEngine
}
}
#if FLAX_EDITOR
namespace FlaxEngine.TypeConverters
{
internal class TagConverter : TypeConverter
@@ -288,3 +291,4 @@ namespace FlaxEngine.TypeConverters
}
}
}
#endif

View File

@@ -220,7 +220,7 @@ namespace Flax.Build.NativeCpp
"System.ComponentModel",
"System.ComponentModel.DataAnnotations",
"System.ComponentModel.Primitives",
"System.ComponentModel.TypeConverter",
//"System.ComponentModel.TypeConverter",
"System.Console",
"System.Core",
"System.Globalization",