1. 程式人生 > 實用技巧 >《UE4遊戲開發》之 《BuildGraph新增ModifyDirectoryConfig Task》

《UE4遊戲開發》之 《BuildGraph新增ModifyDirectoryConfig Task》

1.Engine\Build\Graph\Schema.xsd,裡面定義了複雜型別【complexType】,每種複雜型別【型別中定義了if、foreach和do等邏輯必要型別,意味著可以在xml中新增一些邏輯處理】,可以進行相互巢狀【在巢狀中xs:element/標籤標識,指定名字和型別】,而基礎型別的實現是在Engine\Source\Programs\AutomationTool\BuildGraph\Tasks中,Schema.xsd定義的型別是在xml中使用,Engine\Build\InstalledEngineBuild.xml和InstalledEngineFilters.xml以及Engine\Build\Graph\Examples中的樣例

2.在xml中,標籤Option和Property表示輸入變數,Option標籤標識引數可選,Property表示引數必須填
3.使用
3.1命令列:Engine\Build\BatchFiles\RunUAT.bat BuildGraph -Script=xml的路徑 -Target=Agent標籤的名字【名字中含有【空格】Agent,此部分必須省略】 -set:Option和Property標籤的名字=具體的值 -set:Option和Property標籤的名字=具體的值 … -set:Option和Property標籤的名字=具體的值
3.2在vs中,需要在AutomationTool工程屬性中,在Debug選項中,新增命令列引數: BuildGraph -Script=xml的路徑 -Target=Agent標籤的名字【名字中含有【空格】Agent,此部分必須省略】 -set:Option和Property標籤的名字=具體的值 -set:Option和Property標籤的名字=具體的值 … -set:Option和Property標籤的名字=具體的值【BuildGraph -Script=F:\Work\b19.5\Script\BuildGraph\Run_Config.xml -Target=pack -Set:ProjectDir=F:\Work\b19.5 -Set:ProjectName=ACPhoenix -Set:CompileConfig=Shipping -Set:saveDir=G:\ACPhoenixShipping -Set:FromConfigName=ACConfig -Set:ToConfigName=DefaultACConfig -Set:saveName=2020_1009_1848_Daily_Shipping】在這裡插入圖片描述

4.建立ModifyDirectoryConfig用於自動打包流程中,針對不同的平臺或釋出不同版本需要不同的config,通過增量式config定義section,自動去修改工程Config中的欄位值;建立位置:Engine\Source\Programs\AutomationTool\BuildGraph\Tasks\ModifyDirectoryConfigTask.cs,根據需求實現對應的public override void Execute()函式
5.在Schema.xsd中新增c#定義的Task,可以參考原引擎程式碼ModifyConfig設定
6.在xml中使用,參考ModifyConfig在這裡插入圖片描述

7.通過在vs中配置【見3.2】,可以debug除錯程式碼