GenerateQTProject.ProjectFileParser.GetEnginePath C# (CSharp) Méthode

GetEnginePath() public méthode

Retrieve engine path from project file
public GetEnginePath ( ) : string
Résultat string
        public string GetEnginePath()
        {
            var match = Regex.Match(projectFileContent, GetUnrealPathRegexPattern());

            if (!match.Success || match.Groups["path"] == null)
                Errors.ErrorExit(ErrorCode.ENGINE_PATH_NOT_FOUND_IN_PROJECT_FILE);

            string path = match.Groups["path"].Value;

            if (!File.Exists(path + @"\Engine\Build\BatchFiles\build.bat"))
                Errors.ErrorExit(ErrorCode.INVALID_ENGINE_PATH_FOUND);

            path = path.Replace("\\", "/");

            return path;
        }

Usage Example

Exemple #1
0
        /// <summary>
        /// This method will generate and apply a modified qt.pro.user file, which contains build presets for UE4
        /// </summary>
        /// <param name="projData">Reference to project parser</param>
        /// <returns>success</returns>
        public static void GenerateQtBuildPreset(ProjectFileParser projData)
        {
            // Helper variable which stores the retrieved Unreal Engine Version (currently not needed)
            //string UnrealVersion;

            // These variables are used to replace parts of the qtBuildPreset.xml file to match your project and Unreal Engine installation
            string UPROJ_FILE,
                   UNREAL_PATH,
                   PROJECT_DIR,
                   PROJECT_NAME,
                   QT_ENV_ID,
                   QT_CONF_ID;

            QT_ENV_ID  = Configuration.data.qtCreatorEnvironmentId;
            QT_CONF_ID = Configuration.data.qtCreatorUnrealConfigurationId;

            // Set project name
            PROJECT_NAME = projData.projectName;

            // Set project directory
            PROJECT_DIR = projData.projectPath;

            // Set project file path
            UPROJ_FILE = projData.uprojectFilePath;

            // set engine path
            UNREAL_PATH = projData.GetEnginePath();

            // Load user file preset
            String qtBuildPreset = "";

            try
            {
                qtBuildPreset = File.ReadAllText(FileActions.PROGRAM_DIR + "qtBuildPreset.xml");
            }
            catch
            {
                Errors.ErrorExit(ErrorCode.BUILD_PRESET_READ_FAILED);
            }


            // Replace preset variables with actual values
            qtBuildPreset = qtBuildPreset.Replace("$PROJECT_NAME", PROJECT_NAME);
            qtBuildPreset = qtBuildPreset.Replace("$PROJECT_DIR", PROJECT_DIR);
            qtBuildPreset = qtBuildPreset.Replace("$UPROJ_FILE", UPROJ_FILE);
            qtBuildPreset = qtBuildPreset.Replace("$UNREAL_PATH", UNREAL_PATH);

            qtBuildPreset = qtBuildPreset.Replace("$QT_ENV_ID", QT_ENV_ID);
            qtBuildPreset = qtBuildPreset.Replace("$QT_CONF_ID", QT_CONF_ID);

            // remove -rocket for custom engine builds
            if (!projData.IsLauncherBuild())
            {
                qtBuildPreset = qtBuildPreset.Replace("-rocket", "");
            }

            // Write new user file
            try
            {
                File.WriteAllText(projData.projectPath + "Intermediate\\ProjectFiles\\" + projData.projectName + ".pro.user", qtBuildPreset);
            }
            catch
            {
                Errors.ErrorExit(ErrorCode.QT_PRO_USERFILE_WRITE_FAILED);
            }

            Console.WriteLine("User file written successfully.");
        }
All Usage Examples Of GenerateQTProject.ProjectFileParser::GetEnginePath