Class Utils
Class with helper functions.
Inheritance
Namespace: FlaxEngine
Assembly: FlaxEngine.CSharp.dll
Syntax
public static class Utils : Object
Methods
ArraysEqual<T>(T[], T[])
Determines whether two arrays are equal by comparing the elements by using the default equality comparer for their type.
Declaration
public static bool ArraysEqual<T>(T[] a1, T[] a2)
Parameters
T[]
a1
The first array. |
T[]
a2
The second array. |
Returns
System.Boolean
|
Type Parameters
T
The type of the elements of the input sequences. |
ArraysEqual<T>(T[], IReadOnlyList<T>)
Determines whether two arrays are equal by comparing the elements by using the default equality comparer for their type.
Declaration
public static bool ArraysEqual<T>(T[] a1, IReadOnlyList<T> a2)
Parameters
T[]
a1
The first array. |
System.Collections.Generic.IReadOnlyList<T>
a2
The second array. |
Returns
System.Boolean
|
Type Parameters
T
The type of the elements of the input sequences. |
ArraysEqual<T>(List<T>, List<T>)
Determines whether two arrays are equal by comparing the elements by using the default equality comparer for their type.
Declaration
public static bool ArraysEqual<T>(List<T> a1, List<T> a2)
Parameters
System.Collections.Generic.List<T>
a1
The first array. |
System.Collections.Generic.List<T>
a2
The second array. |
Returns
System.Boolean
|
Type Parameters
T
The type of the elements of the input sequences. |
GetAssemblies()
Gets all currently loaded assemblies in the runtime.
Declaration
public static Assembly[] GetAssemblies()
Returns
System.Reflection.Assembly[]
List of assemblies |
GetAssemblyByName(String)
Gets the assembly with the given name.
Declaration
public static Assembly GetAssemblyByName(string name)
Parameters
System.String
name
The name. |
Returns
System.Reflection.Assembly
The assembly or null if not found. |
GetAssemblyByName(String, Assembly[])
Gets the assembly with the given name.
Declaration
public static Assembly GetAssemblyByName(string name, Assembly[] assemblies)
Parameters
System.String
name
The name. |
System.Reflection.Assembly[]
assemblies
The assemblies collection to search for. |
Returns
System.Reflection.Assembly
The assembly or null if not found. |
GetAssemblyLocation(Assembly)
Gets the location of the assembly.
Declaration
public static string GetAssemblyLocation(Assembly assembly)
Parameters
System.Reflection.Assembly
assembly
The assembly. |
Returns
System.String
Path in the filesystem |
GetEmptyArray<T>()
Gets the empty array of the given type (shared one).
Declaration
public static T[] GetEmptyArray<T>()
Returns
T[]
The empty array object. |
Type Parameters
T
The type. |
GetParameterTypes(MethodBase)
Gets the array of method parameter types.
Declaration
public static Type[] GetParameterTypes(this MethodBase method)
Parameters
System.Reflection.MethodBase
method
The method to get it's parameters. |
Returns
System.Type[]
Method parameters array. |
InitStructure(Object, Type)
Initializes the structure (value type) by inflating it with values from System.ComponentModel.DefaultValueAttribute (recursive).
Declaration
public static void InitStructure(object obj, Type type)
Parameters
System.Object
obj
The object to initialize. |
System.Type
type
The structure type. |
MemoryClear(IntPtr, UInt64)
Clears the memory region with zeros.
Declaration
public static extern void MemoryClear(IntPtr dst, ulong size)
Parameters
System.IntPtr
dst
Destination memory address |
System.UInt64
size
Size of the memory to clear in bytes |
Remarks
Uses low-level platform impl.
MemoryCompare(IntPtr, IntPtr, UInt64)
Compares two blocks of the memory.
Declaration
public static extern int MemoryCompare(IntPtr buf1, IntPtr buf2, ulong size)
Parameters
System.IntPtr
buf1
The first buffer address. |
System.IntPtr
buf2
The second buffer address. |
System.UInt64
size
Size of the memory to compare in bytes. |
Returns
System.Int32
|
Remarks
Uses low-level platform impl.
MemoryCopy(IntPtr, IntPtr, Int32)
Copies data from one memory location to another using an unmanaged memory pointers.
Declaration
public static void MemoryCopy(IntPtr source, IntPtr destination, int length)
Parameters
System.IntPtr
source
The source location. |
System.IntPtr
destination
The destination location. |
System.Int32
length
The length (amount of bytes to copy). |
Remarks
Uses low-level platform impl.
MemoryCopy(IntPtr, IntPtr, UInt64)
Copies data from one memory location to another using an unmanaged memory pointers.
Declaration
public static extern void MemoryCopy(IntPtr destination, IntPtr source, ulong length)
Parameters
System.IntPtr
destination
The destination location. |
System.IntPtr
source
The source location. |
System.UInt64
length
The length (amount of bytes to copy). |
Remarks
Uses low-level platform impl.
ReadBoundingBox(BinaryReader)
Reads the BoundingBox from the binary stream.
Declaration
public static BoundingBox ReadBoundingBox(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
BoundingBox
The value. |
ReadBoundingSphere(BinaryReader)
Reads the BoundingSphere from the binary stream.
Declaration
public static BoundingSphere ReadBoundingSphere(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
BoundingSphere
The value. |
ReadColor(BinaryReader)
Reads the color from the binary stream.
Declaration
public static Color ReadColor(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Color
The value. |
ReadColor32(BinaryReader)
Reads the color from the binary stream.
Declaration
public static Color32 ReadColor32(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Color32
The value. |
ReadDouble2(BinaryReader)
Reads the Double2 from the binary stream.
Declaration
public static Double2 ReadDouble2(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Double2
The value. |
ReadDouble3(BinaryReader)
Reads the Double3 from the binary stream.
Declaration
public static Double3 ReadDouble3(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Double3
The value. |
ReadDouble4(BinaryReader)
Reads the Double4 from the binary stream.
Declaration
public static Double4 ReadDouble4(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Double4
The value. |
ReadFloat2(BinaryReader)
Reads the Float2 from the binary stream.
Declaration
public static Float2 ReadFloat2(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Float2
The value. |
ReadFloat3(BinaryReader)
Reads the Float3 from the binary stream.
Declaration
public static Float3 ReadFloat3(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Float3
The value. |
ReadFloat4(BinaryReader)
Reads the Float4 from the binary stream.
Declaration
public static Float4 ReadFloat4(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Float4
The value. |
ReadInt2(BinaryReader)
Reads the Int2 from the binary stream.
Declaration
public static Int2 ReadInt2(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Int2
The value. |
ReadInt3(BinaryReader)
Reads the Int3 from the binary stream.
Declaration
public static Int3 ReadInt3(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Int3
The value. |
ReadInt4(BinaryReader)
Reads the Int4 from the binary stream.
Declaration
public static Int4 ReadInt4(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Int4
The value. |
ReadJson(BinaryReader, ISerializable)
Deserializes object from Json by reading it as a raw data (ver+length+bytes).
Declaration
public static void ReadJson(this BinaryReader stream, ISerializable obj)
Parameters
System.IO.BinaryReader
stream
The stream. |
ISerializable
obj
The object to deserialize. |
Remarks
Reads version number, data length and actual data bytes from the stream.
ReadMatrix(BinaryReader)
Reads the Matrix from the binary stream.
Declaration
public static Matrix ReadMatrix(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Matrix
The value. |
ReadQuaternion(BinaryReader)
Reads the Quaternion from the binary stream.
Declaration
public static Quaternion ReadQuaternion(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Quaternion
The value. |
ReadRay(BinaryReader)
Reads the Ray from the binary stream.
Declaration
public static Ray ReadRay(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Ray
The value. |
ReadTransform(BinaryReader)
Reads the Transform from the binary stream.
Declaration
public static Transform ReadTransform(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Transform
The value. |
ReadVector2(BinaryReader)
Reads the Vector2 from the binary stream.
Declaration
public static Vector2 ReadVector2(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Vector2
The value. |
ReadVector2(BinaryReader, Boolean)
Reads the Vector2 from the binary stream.
Declaration
public static Vector2 ReadVector2(this BinaryReader stream, bool useDouble)
Parameters
System.IO.BinaryReader
stream
The stream. |
System.Boolean
useDouble
True to explicitly use 64-bit precision for serialized data, otherwise will use 32-bit precision. |
Returns
Vector2
The value. |
ReadVector3(BinaryReader)
Reads the Vector3 from the binary stream.
Declaration
public static Vector3 ReadVector3(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Vector3
The value. |
ReadVector3(BinaryReader, Boolean)
Reads the Vector3 from the binary stream.
Declaration
public static Vector3 ReadVector3(this BinaryReader stream, bool useDouble)
Parameters
System.IO.BinaryReader
stream
The stream. |
System.Boolean
useDouble
True to explicitly use 64-bit precision for serialized data, otherwise will use 32-bit precision. |
Returns
Vector3
The value. |
ReadVector4(BinaryReader)
Reads the Vector4 from the binary stream.
Declaration
public static Vector4 ReadVector4(this BinaryReader stream)
Parameters
System.IO.BinaryReader
stream
The stream. |
Returns
Vector4
The value. |
ReadVector4(BinaryReader, Boolean)
Reads the Vector4 from the binary stream.
Declaration
public static Vector4 ReadVector4(this BinaryReader stream, bool useDouble)
Parameters
System.IO.BinaryReader
stream
The stream. |
System.Boolean
useDouble
True to explicitly use 64-bit precision for serialized data, otherwise will use 32-bit precision. |
Returns
Vector4
The value. |
RoundTo1DecimalPlace(Single)
Rounds the floating point value up to 1 decimal place.
Declaration
public static float RoundTo1DecimalPlace(float value)
Parameters
System.Single
value
The value. |
Returns
System.Single
The rounded result. |
RoundTo2DecimalPlaces(Single)
Rounds the floating point value up to 2 decimal places.
Declaration
public static float RoundTo2DecimalPlaces(float value)
Parameters
System.Single
value
The value. |
Returns
System.Single
The rounded result. |
RoundTo3DecimalPlaces(Single)
Rounds the floating point value up to 3 decimal places.
Declaration
public static float RoundTo3DecimalPlaces(float value)
Parameters
System.Single
value
The value. |
Returns
System.Single
The rounded result. |
Write(BinaryWriter, BoundingBox)
Writes the BoundingBox to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, BoundingBox value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
BoundingBox
value
The value to write. |
Write(BinaryWriter, BoundingSphere)
Writes the BoundingSphere to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, BoundingSphere value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
BoundingSphere
value
The value to write. |
Write(BinaryWriter, Color)
Writes the color to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Color value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Color
value
The value to write. |
Write(BinaryWriter, Color32)
Writes the color to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Color32 value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Color32
value
The value to write. |
Write(BinaryWriter, Double2)
Writes the Vector2 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Double2 value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Double2
value
The value to write. |
Write(BinaryWriter, Double3)
Writes the Vector3 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Double3 value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Double3
value
The value to write. |
Write(BinaryWriter, Double4)
Writes the Vector4 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Double4 value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Double4
value
The value to write. |
Write(BinaryWriter, Float2)
Writes the Vector2 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Float2 value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Float2
value
The value to write. |
Write(BinaryWriter, Float3)
Writes the Vector3 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Float3 value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Float3
value
The value to write. |
Write(BinaryWriter, Float4)
Writes the Vector4 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Float4 value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Float4
value
The value to write. |
Write(BinaryWriter, Int2)
Writes the Int2 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Int2 value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Int2
value
The value to write. |
Write(BinaryWriter, Int3)
Writes the Int3 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Int3 value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Int3
value
The value to write. |
Write(BinaryWriter, Int4)
Writes the Int4 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Int4 value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Int4
value
The value to write. |
Write(BinaryWriter, Matrix)
Writes the Matrix to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Matrix value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Matrix
value
The value to write. |
Write(BinaryWriter, Quaternion)
Writes the Quaternion to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Quaternion value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Quaternion
value
The value to write. |
Write(BinaryWriter, Ray)
Writes the Ray to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Ray value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Ray
value
The value to write. |
Write(BinaryWriter, Rectangle)
Writes the Rectangle to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Rectangle value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Rectangle
value
The value to write. |
Write(BinaryWriter, Transform)
Writes the Transform to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Transform value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Transform
value
The value to write. |
Write(BinaryWriter, Vector2)
Writes the Vector2 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Vector2 value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Vector2
value
The value to write. |
Write(BinaryWriter, Vector2, Boolean)
Writes the Vector2 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Vector2 value, bool useDouble)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Vector2
value
The value to write. |
System.Boolean
useDouble
True to explicitly use 64-bit precision for serialized data, otherwise will use 32-bit precision. |
Write(BinaryWriter, Vector3)
Writes the Vector3 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Vector3 value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Vector3
value
The value to write. |
Write(BinaryWriter, Vector3, Boolean)
Writes the Vector3 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Vector3 value, bool useDouble)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Vector3
value
The value to write. |
System.Boolean
useDouble
True to explicitly use 64-bit precision for serialized data, otherwise will use 32-bit precision. |
Write(BinaryWriter, Vector4)
Writes the Vector4 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Vector4 value)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Vector4
value
The value to write. |
Write(BinaryWriter, Vector4, Boolean)
Writes the Vector4 to the binary stream.
Declaration
public static void Write(this BinaryWriter stream, Vector4 value, bool useDouble)
Parameters
System.IO.BinaryWriter
stream
The stream. |
Vector4
value
The value to write. |
System.Boolean
useDouble
True to explicitly use 64-bit precision for serialized data, otherwise will use 32-bit precision. |
WriteJson(BinaryWriter, ISerializable)
Serializes object to Json and writes it as a raw data (ver+length+bytes).
Declaration
public static void WriteJson(this BinaryWriter stream, ISerializable obj)
Parameters
System.IO.BinaryWriter
stream
The stream. |
ISerializable
obj
The object to serialize. |
Remarks
Writes version number, data length and actual data bytes to the stream.