您的位置:首页 > 财经 > 金融 > 庆阳亚衡设计_青岛哪里有做网站公司的_安徽疫情最新情况_百度学术论文查重免费

庆阳亚衡设计_青岛哪里有做网站公司的_安徽疫情最新情况_百度学术论文查重免费

2025/1/4 12:03:07 来源:https://blog.csdn.net/ChaoChao66666/article/details/144839388  浏览:    关键词:庆阳亚衡设计_青岛哪里有做网站公司的_安徽疫情最新情况_百度学术论文查重免费
庆阳亚衡设计_青岛哪里有做网站公司的_安徽疫情最新情况_百度学术论文查重免费

前言

        在上一篇(16——DeveloperSettings(开发者设置)的基本使用——创建配置文件)基础上继续介绍如何在C++中读取修改Settings。

步骤

一、获取配置项的值 

1. 在“SampleSettings.h”中新增声明名为“AppID”和“AppKey”的变量,其中UPROPERTY 宏中的参数Config表示这两个成员变量会参与到项目的配置管理中,其值可被保存到项目配置文件中并在需要时重新加载出来。

此时编译后可以看到在“项目设置-》Test-》Sample Settings”中多了两个配置项

接下来我们在另一个Actor中获取和修改配置项“AppID”和“AppKey”的值

2. 新建一个Actor类,这里命名为“ConfigActor”

在“ConfigActor.h”中定义一个名为“GetMyAppKey”的函数,用于获取配置项“AppKey”的值

函数“GetMyAppKey”的实现如下,该函数将获取到的配置项“AppKey”的值赋给引用参数 OutMyAppKey。如果成功获取到有效的 AppKey,函数返回 true;若获取实例失败或者实例中 AppKey 变量无值,则将 OutMyAppKey 设置为默认值 "None" 并返回 false

3. 编译后创建派生自“ConfigActor”的蓝图类“BP_ConfigActor”

打开“BP_ConfigActor”,在事件BeginPlay时打印“OutMyAppKey”

4. 将“BP_ConfigActor”拖入视口

5. 在项目设置中,修改配置项“AppKey”的值

此时运行,可以看到成功打印了配置项“AppKey”的值

配置文件“DefaultSampleSetting.ini”中也成功记录了配置项“AppKey”的值。

另外,蓝图提供了可以访问配置项的节点“GetClassDefault”

 

二、修改配置项的值

 在“ConfigActor.h”中新增一个函数“SetMyAppKey”,用于设置配置项“AppKey”的值。函数“SetMyAppKey”接收一个 FString 类型的常量引用参数 InMyAppKey,该参数表示要设置的新的AppKey的值

函数“SetMyAppKey”的实现如下。先尝试获取对应的 USampleSettings 类实例,如果获取成功,就将传入的新应用密钥值赋给该实例中的 AppKey 变量,并且函数返回 true 表示设置成功;若获取实例失败,则直接返回 false。

编译后在“BP_ConfigActor”的事件图表中调用“SetMyAppKey”

运行后,可以看到项目设置中的配置项“AppKey”的值被修改了

但是修改后的值并没有保存到“DefaultSampleSettings.ini”中

我们还需要添加如下3行代码,将项目设置中的配置项信息保存到配置文件中 。其中调用 SampleSetting->Modify() 是为了标记当前的 USampleSettings 实例中的配置已经被修改,通过调用这个函数告知系统该实例的配置状态发生了变化,后续在保存配置时会根据这个标记来确定哪些配置信息需要被持久化存储,确保只有真正修改过的配置才会被保存,避免不必要的存储操作;

FString ConfigPath = FPaths::ConvertRelativePathToFull(FPaths::ProjectConfigDir() / TEXT("DefaultSampleSettings.ini")); 这行代码用于获取配置文件的完整路径,FPaths::ProjectConfigDir() 用于获取项目配置目录的路径,然后通过 / 运算符(在UE中重载了用于拼接路径的功能)与 TEXT("DefaultSampleSettings.ini") 进行拼接,得到配置文件相对的路径表示,最后FPaths::ConvertRelativePathToFull 函数将相对路径转换为完整的绝对路径;

SaveConfig 函数是 USampleSettings 类提供的用于保存配置信息的方法,参数 CPF_Config 是一个配置文件保存的相关标志,第二个参数 *ConfigPath 通过解引用操作将之前获取到的配置文件的完整路径字符串传递进去,使得配置信息能够准确地保存到指定的 DefaultSampleSettings.ini 文件中,确保更新后的“AppKey”信息得以持久化。

编译后,此时运行可以看到不仅项目设置中的配置项“AppKey”的值被成功修改,而且修改后的值也成功保存到配置文件中。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com