public override void GetOptions <TOption>(List <TOption> options, bool vbUI, AllowOptionDelegate <TOption> allow) { base.GetOptions(options, vbUI, allow); foreach (Manager manager in Managers) { if (vbUI) { List <TOption> subOptions = new List <TOption>(); manager.GetOptions(subOptions, vbUI, allow); if (subOptions.Count > 0) { TOption listing = new MasterListingOption(manager) as TOption; if (listing != null) { options.Add(listing); } } } else { manager.GetOptions(options, vbUI, allow); } } }
public virtual void GetOptions <TOption>(List <TOption> options, bool forUI, AllowOptionDelegate <TOption> allow) where TOption : class, IOptionItem { bool showingHidden = GetValue <Main.ShowHiddenOption, bool>(); bool debugging = DebuggingEnabled; foreach (OptionItem option in mOptions) { TOption item = option as TOption; if (item == null) { continue; } if (allow != null) { if (!allow(item)) { continue; } } if (forUI) { if ((!showingHidden) && (!item.ShouldDisplay())) { continue; } if ((!debugging) && (item is IDebuggingOption)) { continue; } } options.Add(item); } if ((debugging) && (forUI)) { TOption option = new DebugListingOption(this) as TOption; if (option != null) { options.Add(option); } } }
public override void GetOptions <TOption>(List <TOption> options, bool vbUI, AllowOptionDelegate <TOption> allow) { base.GetOptions(options, vbUI, allow); foreach (SimPersonality personality in mPersonalities) { if (vbUI) { TOption listing = new Main.MasterListingOption(personality) as TOption; if (listing != null) { options.Add(listing); } } else { personality.GetOptions(options, vbUI, allow); } } }