public int Compare(MissionVersion x, MissionVersion y) { if (x == null) { throw new ArgumentNullException(nameof(x)); } if (y == null) { throw new ArgumentNullException(nameof(y)); } var xN = GetNumberRepresentation(x.TextRepresentation); var yN = GetNumberRepresentation(y.TextRepresentation); for (var i = 0; i < Math.Max(xN.Length, yN.Length); i++) { var xCurrent = i < xN.Length ? xN[i] : 0; var yCurrent = i < yN.Length ? yN[i] : 0; if (xCurrent != yCurrent) { return(xCurrent - yCurrent); } } return(0); }
public Mission(string fullName, MissionType type, int size, string name, MissionVersion version, string terrain) { FullName = fullName; Type = type; Size = size; Name = name; Terrain = terrain; Version = version; }
public bool IsFormatCorrect(MissionVersion version) { if (version == null) { throw new ArgumentNullException(nameof(version)); } try { GetNumberRepresentation(version.TextRepresentation); return(true); } catch (ArgumentException) { return(false); } }