public void DiscardUciOptionChanges() { foreach (var opt in CurrentlyAppliedOptions) { ScratchOptions.First((UciOption o) => o.GetName() == opt.GetName()).SetValue(opt); } }
private void AddOption(string line) { var opt = new UciOptionFactory().FromString(line); if (opt != null) { ScratchOptions.Add(opt); CurrentlyAppliedOptions.Add(new UciOptionFactory().FromString(line)); //we want a copy } }
private IList <UciOption> GetChangedOptions() { var changedOptions = new List <UciOption>(); var zippedOptions = ScratchOptions.Zip( CurrentlyAppliedOptions, (scratch, applied) => new { Scratch = scratch, Applied = applied } ); foreach (var optionPair in zippedOptions) { if (!optionPair.Scratch.Equals(optionPair.Applied)) { changedOptions.Add(optionPair.Scratch); } } return(changedOptions); }