using System; using System.Collections.Generic; using System.Xml.Schema; using System.Xml.Serialization; using SpringCombos.Properties; namespace SpringCombos { [Serializable, XmlRoot(ElementName = "SpringCombos"), XmlInclude(typeof(Combo)), XmlInclude(typeof(MouseCombo)), XmlInclude(typeof(KeyboardCombo)), XmlInclude(typeof(PauseCombo))] public class Combos { #region Public Enums, Properties and Fields [XmlAttribute("noNamespaceSchemaLocation", Namespace = XmlSchema.InstanceNamespace)] public string NoNamespaceSchemaLocation { get => "SpringCombos.xsd"; set { } } [XmlElement(ElementName = "SpringCombo")] public List Combo { get; set; } = new List(); [XmlElement(ElementName = "SpringComboRepeat")] public int ComboRepeat { get => _springComboRepeat; set => _springComboRepeat = value; } #endregion #region Private Delegates, Events, Enums, Properties, Indexers and Fields private int _springComboRepeat; #endregion #region Constructors, Destructors and Finalizers [UsedImplicitly] public Combos() { } public Combos(IEnumerable sequence) { Combo.AddRange(sequence); } public Combos(IEnumerable sequence, int chargeRepeat) : this(sequence) => _springComboRepeat = chargeRepeat; #endregion } }