public static void SetFromList <TData>(OptionsBox optionsBox, IList <TData> list, int value, Func <TData, string> nameGetter) { optionsBox.options.Clear(); optionsBox.options = list.GetArrayOf(nameGetter).ToList(); optionsBox.SetValue(value); }
public static void SetFromEnum <TEnum>(OptionsBox optionsBox, TEnum value, Func <TEnum, string> nameGetter) where TEnum : IFormattable, IConvertible, IComparable { optionsBox.options.Clear(); Array values = Enum.GetValues(value.GetType()); for (int i = 0; i < values.Length; i++) { optionsBox.options.Add(nameGetter((TEnum)values.GetValue(i))); if (values.GetValue(i).Equals(value)) { optionsBox.SetValue(i); } } optionsBox.UpdateText(); }