# 前言
此文为Console Variables in C++(opens new window)的原创翻译,本文内容版权归原文所有,仅供学习,如需转载望注本文地址,翻译不易,谢谢理解。
一个控制台命令是用户输入字符发送到引擎然后引擎以某种方式反应(比如console/log变量,改变内部状态)。一个控制台变量会额外地保存一些状态,这些状态稍后可通过控制台改变。通过在控制台管理器中注册控制台命令和变量,可得到自动补全和枚举,以便获取所有控制台对象(控制台命令帮助或者输出控制台变量)的列表,因此,你应该避免使用旧的Exec接口。控制台管理器会控制所有的这些事甚至更多,比如用户输入历史。
# 控制变量是啥
一个控制台变量是一些简单的数据类型,比如float,int,string,它在引擎范围内有状态,用户可以读取和设置这些状态。控制台变量有名字,用户能在输入变量名到控制台时使用自动补全。比如: 用户控制台输入 控制台输出 描述 MyConsoleVar MyConsoleVar = 0 变量的当前状态被输出到控制台
MyConsoleVar 123 MyConsoleVar = 123 LastSetBy: Constructor 变量的状态被改变,新状态被打印到控制台里
MyConsoleVar ? 可能得到多行帮助文本 打印控制台变量帮助到控制台
# 创建/注册控制台变量
所有的控制台变量在创建的时候需要被注册,下面这个例子是从引擎代码中截取的:
我们注册了一个int32类型的控制台变量,变量名为r.RefractionQuality,它的默认值是2,有一些多行帮助文本和一些