diff --git a/Source/Engine/Utilities/Extensions.cs b/Source/Engine/Utilities/Extensions.cs index 339c1c368..29aa7329a 100644 --- a/Source/Engine/Utilities/Extensions.cs +++ b/Source/Engine/Utilities/Extensions.cs @@ -398,5 +398,17 @@ namespace FlaxEngine.Utilities random.NextBytes(numArray); return (long)(BitConverter.ToUInt64(numArray, 0) & long.MaxValue); } + + /// + /// Returns a random value of the given enum. + /// + /// The enum to get the value from. + /// An instance of . + /// A random enum value. + public static TEnum NextEnum(this Random random) + { + Array values = Enum.GetValues(typeof(TEnum)); + return (TEnum)values.GetValue(random.Next(values.Length)); + } } }