UE中可以将普通静态字段定义为控制台命令字段CVar。
C++中,将对应内容放置于namespace下即可:
cpp
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Character.h"
#include "MyProjectCharacter.generated.h"
struct FInputActionValue;
DECLARE_LOG_CATEGORY_EXTERN(LogTemplateCharacter, Log, All);
namespace MyGameCVars
{
static int32 EnemyCount = 10;
static FAutoConsoleVariableRef CVarEnemyCount(
TEXT("MyGame.EnemyCount"),
EnemyCount,
TEXT("EnemyCount (1 - 100)"),
ECVF_Default);
}
UCLASS(config=Game)
class AMyProjectCharacter : public ACharacter
{
GENERATED_BODY()
...
例如以上代码在角色的头文件中添加。
编译后,即可在控制台中点出该变量,修改测试:
需要注意,控制台修改变量没有回调,只会修改对应值。