public ApplicationVersion(
     ApplicationVersionType applicationVersionType,
     int major,
     int minor,
     int revision,
     int changeSet,
     ApplicationVersionGameType versionGameType)
 {
     this.ApplicationVersionType = applicationVersionType;
     this.Major           = major;
     this.Minor           = minor;
     this.Revision        = revision;
     this.ChangeSet       = changeSet;
     this.VersionGameType = versionGameType;
 }
        public static ApplicationVersion FromParametersFile(
            ApplicationVersionGameType versionGameType)
        {
            XmlDocument xmlDocument = new XmlDocument();

            xmlDocument.LoadXml(VirtualFolders.GetFileContent(BasePath.Name + "Parameters/Version.xml"));
            string versionAsString = "";

            switch (versionGameType)
            {
            case ApplicationVersionGameType.Singleplayer:
                versionAsString = xmlDocument.ChildNodes[0].ChildNodes[0].Attributes["Value"].InnerText;
                break;

            case ApplicationVersionGameType.Multiplayer:
                versionAsString = xmlDocument.ChildNodes[0].ChildNodes[1].Attributes["Value"].InnerText;
                break;
            }
            return(ApplicationVersion.FromString(versionAsString, versionGameType));
        }
        public static ApplicationVersion FromString(
            string versionAsString,
            ApplicationVersionGameType versionGameType)
        {
            string[] strArray  = versionAsString.Split('.');
            int      num1      = strArray.Length == 3 || strArray.Length == 4 ? (int)ApplicationVersion.ApplicationVersionTypeFromString(strArray[0][0].ToString()) : throw new Exception("Wrong version as string");
            string   str1      = strArray[0].Substring(1);
            string   str2      = strArray[1];
            string   str3      = strArray[2];
            int      int32_1   = Convert.ToInt32(str1);
            int      int32_2   = Convert.ToInt32(str2);
            int      int32_3   = Convert.ToInt32(str3);
            int      num2      = strArray.Length > 3 ? Convert.ToInt32(strArray[3]) : 268540;
            int      major     = int32_1;
            int      minor     = int32_2;
            int      revision  = int32_3;
            int      changeSet = num2;
            int      num3      = (int)versionGameType;

            return(new ApplicationVersion((ApplicationVersionType)num1, major, minor, revision, changeSet, (ApplicationVersionGameType)num3));
        }