如何使用一键热更

功能描述

Pangu在编辑器开启时,提供一键热更功能,该功能支持配置,用户可以根据自己的需求配置一键热更需要更新的内容。

如何使用

在xxxSetupConfig.json中添加指令AllUpdate

找到项目的xxxSetupConfig.json文件,在CustomCmds模块下新增一个AllUpdate模块。 avatar

指令参考详解

以下以Pangu提供的KaiTianSetupConfig.json中的AllUpdate的模块中的命令为例,来解释如何通过配置来完成一键热更的功能。 具体的指令分为四个部分:

  1. 更新前的相关环境重置指令
  2. 指定需要热更的内容
  3. 重载更新后的内容
  4. 更新后的相关环境重置指令
"AllUpdate":{
			"AdminCmds":[],
			"UserCmds":[
				"show_setup_tab",						# 弹出一键安装的tab
				"show_ui_installing_img",				# 展示一键安装的进度条
				"change_ui_state Installing",			# 切换一键安装的ui状态为正在进行
				"check_houdini_engine_running",         # 检查houdini是否运行,如果正在运行会弹窗,可以选择是否强制关闭,提醒用户及时保存hda
				"add_detach_content_path \"{CurProjectContentPath}/PcgContent\"",   # 将需要热更的Content下面的文件加入需要处理的列表中
				"detach_content_packages",              # 解除ue对于Content目录下的添加过的所有的UAsset的引用,以防update的时候产生的资产冲突
				"force_update_kaitian_files {PanguVersion} art_force_update",       # 强制更新CodeUnifier里面的kaitian的ini配置文件中的[PartSymbol]中的art_force_update,具体需要更新的文件夹组合根据项目去CodeUnifier里面去配置就行
				...省略部分类似的语句...
				"change_ue_settings {HoudiniEngineUclassName} bUseCustomHoudiniLocation True",
				...省略部分类似的语句...
				"change_ue_settings {PanguProjectSettingsName} IsDever True",
				"gen_packages_kaitian_json",			# 生成kaitain.json
				"reload_houdini_engine",				# 重新加载houdini引擎,用于更新houini engine的相关配置
				"reload_content_packages",				# 重新加载content下的资源
				"reload_pangu_json",					# 对应盘古中的一键reload各种config、meta等
				"finish_install",						# 完成安装
				"close_ui_installing_img"				# 关闭一键安装的进度条
			]
		},

开始热更

当点击OneForAllUpdate按钮时,会执行run_custom_cmds_by_part函数,运行AllUpdate中设定的的语句,完成相关内容的更新与重载 avatar