using LibZNI.Serialization; using LibZNI.Serialization.ZNIFile; using System; using System.Collections.Generic; using System.Linq; using System.Runtime; using System.Text; using System.Threading.Tasks; namespace LibZNI { public class VersionNumberDifferentException : Exception { public VersionNumberDifferentException(Version one, Version two) : base($"The version numbers are not identical. Current version {one} ; Other {two}") { } } public class Version : Serializable { public List ver { get; set; } = new List(); public Version() { } public Version(int major, int minor, int revision, int build, int cycleStatus, int cycleNum) { ver = new List(); ver.Add(major); ver.Add(minor); ver.Add(revision); ver.Add(build); ver.Add(cycleStatus); ver.Add(cycleNum); } public int Compare(Version other) { for(int i=0;i oth) return 2; } return 0; } public Version(string versionStr) { ver = new List(); List split = versionStr.llParseStringKeepNulls(new string[] { "." }, new string[] { "R", "A", "B", "RC", "DEV" }); for(int i=0;i(); foreach(Tag tag in lt) { IntTag it = tag as IntTag; ver.Add(it.IntValue); } } public override void save(Folder f) { ListTag lt = new ListTag(TagType.INTEGER, "Version"); foreach(int v in ver) { IntTag i = new IntTag(v); lt.Add(i); } f.Add(lt); } } }