public void FillOptions(IDictionary <int, Option> options) { this.lbOptions.Items.Clear(); foreach (var opt in options) { if (opt.Value.GetType().IsAssignableFrom(typeof(DisplayableOption))) { var d_opt = (DisplayableOption)opt.Value; this.lbOptions.Items.Add(new OptionDisplayer(opt.Key, d_opt)); } else { logger.Warn("An option was not displayable, so a new DisplayableOption was created"); var d_new_opt = new DisplayableOption() { DisplayID = opt.Key, Message = opt.Value.Message, NextFrameID = opt.Value.NextFrameID, Image = null }; this.lbOptions.Items.Add(new OptionDisplayer(opt.Key, d_new_opt)); } } }
public OptionDisplayer(int key, DisplayableOption option) { if (option == null) { throw new ArgumentNullException(); } this.Key = key; this.inner_option = option; }