<?xml version="1.0"?>
<doc>
    <assembly>
        <name>OWML.Utils</name>
    </assembly>
    <members>
        <member name="T:OWML.Utils.EnumUtils">
            <summary>
            An utility class to help with Enums
            </summary>
        </member>
        <member name="F:OWML.Utils.EnumUtils._powerOfTwoTypes">
            <summary>
            Any enum with flags uses numbers that are a power of two. Some other enums also use it because mobius.
            </summary>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.String)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="name">Name of the enum value</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.String,``0)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="name">Name of the enum value</param>
            <param name="value">Value of the enum</param>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.String,System.Int16)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="name">Name of the enum value</param>
            <param name="value">Value of the enum</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.String,System.UInt16)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="name">Name of the enum value</param>
            <param name="value">Value of the enum</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.String,System.Int32)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="name">Name of the enum value</param>
            <param name="value">Value of the enum</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.String,System.UInt32)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="name">Name of the enum value</param>
            <param name="value">Value of the enum</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.String,System.Int64)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="name">Name of the enum value</param>
            <param name="value">Value of the enum</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.String,System.UInt64)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="name">Name of the enum value</param>
            <param name="value">Value of the enum</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.String,System.Byte)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="name">Name of the enum value</param>
            <param name="value">Value of the enum</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.String,System.SByte)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="name">Name of the enum value</param>
            <param name="value">Value of the enum</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.Int16,System.String)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value of the enum</param>
            <param name="name">Name of the enum value</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.UInt16,System.String)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value of the enum</param>
            <param name="name">Name of the enum value</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.Int32,System.String)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value of the enum</param>
            <param name="name">Name of the enum value</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.UInt32,System.String)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value of the enum</param>
            <param name="name">Name of the enum value</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.Int64,System.String)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value of the enum</param>
            <param name="name">Name of the enum value</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.UInt64,System.String)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value of the enum</param>
            <param name="name">Name of the enum value</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.Byte,System.String)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value of the enum</param>
            <param name="name">Name of the enum value</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.SByte,System.String)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value of the enum</param>
            <param name="name">Name of the enum value</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create``1(System.Object,System.String)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value of the enum</param>
            <param name="name">Name of the enum value</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create(System.Type,System.String)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="name">Name of the enum value</param>
            <returns>The created enum value</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create(System.Type,System.String,System.Object)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="name">Name of the enum value</param>
            <param name="value">Value of the enum</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Create(System.Type,System.Object,System.String)">
            <summary>
            Creates an actual enum value associated with a name
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value of the enum</param>
            <param name="name">Name of the enum value</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
            <exception cref="T:System.Exception">The enum already has a value with the same name</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Remove``1(System.String)">
            <summary>
            Removes a custom enum value from being associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="name">Name of the enum value</param>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Remove``1(System.Object)">
            <summary>
            Removes a custom enum value from being associated with a name
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">The enum value to remove</param>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Remove(System.Type,System.String)">
            <summary>
            Removes a custom enum value from being associated with a name
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="name">Name of the enum value</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Remove(System.Type,System.Object)">
            <summary>
            Removes a custom enum value from being associated with a name
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value of the enum</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsPowerOfTwoEnum``1">
            <summary>
            Does this enum use power of twos?
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <returns><see langword="true"/> if it does, <see langword="false"/> if not.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsPowerOfTwoEnum(System.Type)">
            <summary>
            Does this enum use power of twos?
            </summary>
            <param name="enumType">Type of the enum</param>
            <returns><see langword="true"/> if it does, <see langword="false"/> if not.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetFirstFreeValue``1">
            <summary>
            Get first undefined value in an enum
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <returns>The first undefined enum value</returns>
            <exception cref="T:System.Exception">No unused values in the enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetFirstFreeValue(System.Type)">
            <summary>
            Get first undefined value in an enum
            </summary>
            <param name="enumType">Type of the enum</param>
            <returns>The first undefined enum value</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
            <exception cref="T:System.Exception">No unused values in the enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Parse(System.Type,System.String)">
            <summary>
            Parses an enum in a easier way
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to parse</param>
            <returns>The parsed enum on success, null on failure.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Parse(System.Type,System.String,System.Boolean)">
            <summary>
            Parses an enum in a easier way
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to parse</param>
            <param name="ignoreCase">true to ignore case; false to regard case.</param>
            <returns>The parsed enum on success, null on failure.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.TryParse(System.Type,System.String,System.Object@)">
            <summary>
            Parses an enum in a easier way
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to parse</param>
            <param name="result">The parsed enum if successful.</param>
            <returns><see langword="true"/> on success, <see langword="false"/> on failure.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.TryParse(System.Type,System.String,System.Boolean,System.Object@)">
            <summary>
            Parses an enum in a easier way
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to parse</param>
            <param name="ignoreCase">true to ignore case; false to regard case.</param>
            <param name="result">The parsed enum if successful.</param>
            <returns><see langword="true"/> on success, <see langword="false"/> on failure.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject(System.Type,System.Object)">
            <summary>
            Converts a number to an enum.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject(System.Type,System.SByte)">
            <summary>
            Converts a <see cref="T:System.SByte"/> to an enum.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject(System.Type,System.Byte)">
            <summary>
            Converts a <see cref="T:System.Byte"/> to an enum.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject(System.Type,System.Int16)">
            <summary>
            Converts a <see cref="T:System.Int16"/> to an enum.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject(System.Type,System.UInt16)">
            <summary>
            Converts an <see cref="T:System.UInt16"/> to an enum.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject(System.Type,System.Int32)">
            <summary>
            Converts an <see cref="T:System.Int32"/> to an enum.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject(System.Type,System.UInt32)">
            <summary>
            Converts an <see cref="T:System.UInt32"/> to an enum.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject(System.Type,System.Int64)">
            <summary>
            Converts a <see cref="T:System.Int64"/> to an enum.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject(System.Type,System.UInt64)">
            <summary>
            Converts an <see cref="T:System.UInt64"/> to an enum.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetUnderlyingType(System.Type)">
            <summary>
            Gets the underlying type of an enum type.
            </summary>
            <param name="enumType">Type of the enum</param>
            <returns>The underlying type of <paramref name="enumType"/></returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetName(System.Type,System.Object)">
            <summary>
            Get the name of an enum value
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to get the name of</param>
            <returns>The name of the enum value</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetNames(System.Type)">
            <summary>
            Gets all names in an enum
            </summary>
            <param name="enumType">Type of the enum</param>
            <returns>An array of the names in the enum</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetValues(System.Type)">
            <summary>
            Gets all values in an enum
            </summary>
            <param name="enumType">Type of the enum</param>
            <returns>An array of the values in the enum</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Count(System.Type)">
            <summary>
            Counts the number of enums values contained in a given enum type.
            </summary>
            <param name="enumType">Type of the enum</param>
            <returns>The number of enum values.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined(System.Type,System.Object)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined(System.Type,System.SByte)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined(System.Type,System.Byte)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined(System.Type,System.Int16)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined(System.Type,System.UInt16)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined(System.Type,System.Int32)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined(System.Type,System.UInt32)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined(System.Type,System.Int64)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined(System.Type,System.UInt64)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined(System.Type,System.String)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetMinValue(System.Type)">
            <summary>
            Gets the minimum value in the enum
            </summary>
            <param name="enumType">Type of the enum</param>
            <returns>the minimum value in the enum</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetMaxValue(System.Type)">
            <summary>
            Gets the maximum value in the enum
            </summary>
            <param name="enumType">Type of the enum</param>
            <returns>the maximum value in the enum</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="enumType"/> is <see langword="null"/></exception>
            <exception cref="T:NotAnEnumException"><paramref name="enumType"/> is not an enum</exception>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetRandom(System.Type)">
            <summary>
            Gets a random value from an enum
            </summary>
            <param name="enumType">Type of the enum</param>
            <returns>A randomly selected enum value from the given enum type</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetRandom(System.Type,System.Object[])">
            <summary>
            Gets a random value from an enum with exclusions
            </summary>
            <param name="enumType">Type of the enum</param>
            <param name="excluded">Enums to exclude from the randomization</param>
            <returns>A randomly selected enum value from the given enum type</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Parse``1(System.String,``0)">
            <summary>
            Parses an enum in a easier way
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to parse</param>
            <param name="errorReturn">What to return if the parse fails.</param>
            <returns>The parsed enum on success, <paramref name="errorReturn"/> on failure.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Parse``1(System.String,System.Boolean,``0)">
            <summary>
            Parses an enum in a easier way
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to parse</param>
            <param name="ignoreCase">true to ignore case; false to regard case.</param>
            <param name="errorReturn">What to return if the parse fails.</param>
            <returns>The parsed enum on success, <paramref name="errorReturn"/> on failure.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.TryParse``1(System.String,``0@)">
            <summary>
            Parses an enum in a easier way
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to parse</param>
            <param name="result">The parsed enum if successful.</param>
            <returns><see langword="true"/> on success, <see langword="false"/> on failure.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.TryParse``1(System.String,System.Boolean,``0@)">
            <summary>
            Parses an enum in a easier way
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to parse</param>
            <param name="ignoreCase">true to ignore case; false to regard case.</param>
            <param name="result">The parsed enum if successful.</param>
            <returns><see langword="true"/> on success, <see langword="false"/> on failure.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject``1(System.Object)">
            <summary>
            Converts a number to an enum.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject``1(System.SByte)">
            <summary>
            Converts a <see cref="T:System.SByte"/> to an enum.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject``1(System.Byte)">
            <summary>
            Converts a <see cref="T:System.Byte"/> to an enum.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject``1(System.Int16)">
            <summary>
            Converts a <see cref="T:System.Int16"/> to an enum.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject``1(System.UInt16)">
            <summary>
            Converts an <see cref="T:System.UInt16"/> to an enum.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject``1(System.Int32)">
            <summary>
            Converts an <see cref="T:System.Int32"/> to an enum.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject``1(System.UInt32)">
            <summary>
            Converts an <see cref="T:System.UInt32"/> to an enum.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject``1(System.Int64)">
            <summary>
            Converts a <see cref="T:System.Int64"/> to an enum.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.FromObject``1(System.UInt64)">
            <summary>
            Converts an <see cref="T:System.UInt64"/> to an enum.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to convert</param>
            <returns>The number as an enum</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetUnderlyingType``1">
            <summary>
            Gets the underlying type of an enum type.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <returns>The underlying type of <typeparamref name="T"/></returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetName``1(``0)">
            <summary>
            Get the name of an enum value
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to get the name of</param>
            <returns>The name of the enum value</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetNames``1">
            <summary>
            Gets all names in an enum
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <returns>The list of names in the enum</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetValues``1">
            <summary>
            Gets all enum values in an enum
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <returns>The list of all values in the enum</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Count``1">
            <summary>
            Counts the number of enums values contained in a given enum type.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <returns>The number of enum values.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined``1(System.Object)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined``1(System.SByte)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined``1(System.Byte)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined``1(System.Int16)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined``1(System.UInt16)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined``1(System.Int32)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined``1(System.UInt32)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined``1(System.Int64)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined``1(System.UInt64)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined``1(System.String)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.IsDefined``1(``0)">
            <summary>
            Checks if an enum is defined.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">Value to check</param>
            <returns><see langword="true"/> if defined, <see langword="false"/> if not.</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetMinValue``1">
            <summary>
            Gets the minimum value in the enum
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <returns>the minimum value in the enum</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetMaxValue``1">
            <summary>
            Gets the maximum value in the enum
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <returns>the maximum value in the enum</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.Format``1(``0,System.String)">
            <summary>
            Converts the enum <paramref name="value"/> to its string representation according to the given format.
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="value">The enum value to convert.</param>
            <param name="format">The output format to use.</param>
            <returns>The underlying type of <typeparamref name="T"/></returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetRandom``1">
            <summary>
            Gets a random value from an enum
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <returns>A randomly selected enum value from the given enum type</returns>
        </member>
        <member name="M:OWML.Utils.EnumUtils.GetRandom``1(``0[])">
            <summary>
            Gets a random value from an enum with exclusions
            </summary>
            <typeparam name="T">Type of the enum</typeparam>
            <param name="excluded">Enums to exclude from the randomization</param>
            <returns>A randomly selected enum value from the given enum type</returns>
        </member>
        <member name="T:OWML.Utils.EnumHolderAttribute">
            <summary>
            Add this attribute to a class, and any static enum fields will have an enum value created with the name of the field.
            </summary>
        </member>
        <member name="M:OWML.Utils.EventExtensions.SafeInvoke(System.MulticastDelegate,System.Object[])">
            <summary>
            Invokes each delegate, printing an error if an invocation fails. If an invocation fails, the other delegates will still be invoked.
            </summary>
            <param name="multicast">The MulticastDelegate to invoke.</param>
            <param name="args">The arguments to pass to each invocation.</param>
        </member>
        <member name="M:OWML.Utils.EventExtensions.RaiseEvent``1(``0,System.String,System.Object[])">
            <summary>
            Raises an event in an instance by it's name.
            </summary>
            <typeparam name="T">The type of the instance.</typeparam>
            <param name="instance">The instance to raise the event in.</param>
            <param name="eventName">The name of the event.</param>
            <param name="args">The arguments to be passed to the event.</param>
        </member>
        <member name="T:NotAnEnumException">
            <summary>
            The exception that is thrown when an enum type is needed but the given type is not an enum.
            </summary>
        </member>
        <member name="P:NotAnEnumException.Type">
            <summary>
            The type that is not an enum
            </summary>
        </member>
        <member name="M:NotAnEnumException.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the NotAnEnumException class with a type that is not an enum.
            </summary>
            <param name="type">The type that is not an enum</param>
        </member>
        <member name="M:NotAnEnumException.#ctor(System.Type,System.Exception)">
            <summary>
            Initializes a new instance of the NotAnEnumException class with a type that is not an enum and a reference to the inner exception that is the cause of this exception.
            </summary>
            <param name="type">The type that is not an enum</param>
            <param name="innerException">The exception caused the current exception</param>
        </member>
    </members>
</doc>
