Код: Выделить всё
class Monster
{
public enum presets
{
//some values
}
presets p = presets.randomEnum();
}
public static class Extensions
{
public static T randomEnum(this T en) where T : struct , IConvertible , IEnumerable
{
if (!typeof(T).IsEnum) { throw new Exception("random enum variable is not an enum"); }
Array values = en.ToArray();
return (T)values.GetValue(Random.Next(values.Length));
}
}
Примечание: мне пришлось сделать много Googling для этого метода Ext, поэтому, если есть более простой способ, который я пропустил или просто не думал, я очень ценю это
Подробнее здесь: https://stackoverflow.com/questions/644 ... ion-method