/// <summary>
 /// Add Horizontal Options to the content area.
 /// </summary>
 /// <param name="entries">The menu data.</param>
 /// <param name="c">The content area to add the entries to.</param>
 /// <param name="returnScreen">The screen to return to when the user hits cancel.</param>
 public static void AddModMenuContent(
     List <IMenuMod.MenuEntry> entries,
     ContentArea c,
     MenuScreen returnScreen
     )
 {
     foreach (var entry in entries)
     {
         c.AddHorizontalOption(
             entry.Name,
             new HorizontalOptionConfig
         {
             ApplySetting   = (_, i) => entry.Saver(i),
             RefreshSetting = (s, _) => s.optionList.SetOptionTo(entry.Loader()),
             CancelAction   = _ => ((Patch.UIManager)UIManager.instance).GoToDynamicMenu(returnScreen),
             Description    = string.IsNullOrEmpty(entry.Description) ? null : new DescriptionInfo
             {
                 Text = entry.Description
             },
             Label   = entry.Name,
             Options = entry.Values,
             Style   = HorizontalOptionStyle.VanillaStyle
         },
             out var option
             );
         option.menuSetting.RefreshValueFromGameSettings();
     }
 }
 /// <summary>
 /// Creates a horizontal option.
 /// </summary>
 /// <param name="content">The <c>ContentArea</c> to put the option in.</param>
 /// <param name="name">The name of the option game object.</param>
 /// <param name="config">The configuration options for the horizontal option.</param>
 /// <returns></returns>
 public static ContentArea AddHorizontalOption(
     this ContentArea content,
     string name,
     HorizontalOptionConfig config
     ) => content.AddHorizontalOption(name, config, out _);