Creating Console commands

Creating Console commands

В этом уроке мы с вами собираемся создать наши собственные консольные команды. Unreal Engine 4 обеспечивает спецификатор с именем Exec для макроса UFUNCTION, который указывает, что следующая функция будет выполнена через консоль. (Чтобы открыть окно консоли нажмите ~ на клавиатуре) Однако есть момент, в настоящее время могут быть только определенные классы для выполнения указанных функций:
— Pawn
— PlayerController
— CheatManager
— GameMode
— PlayerInput
— HUD

Creating commands

Для этого урока, я создал пустой проект C++. Затем я открыл .h файл моего GameMode, и добавил следующие функции:

Code


public:

/*Function with no parameters*/
UFUNCTION(Exec, Category = ExecFunctions)
void DoSomething();

/*Function with one parameter*/
UFUNCTION(Exec, Category = ExecFunctions)
void DoSomethingElse(float param);

/*Function with two parameters*/
UFUNCTION(Exec, Category = ExecFunctions)
void DoubleParamFunction(float param1, int32 param2);

[свернуть]

А это их реализация (Implementation):

Code


void AConsoleExecsGameMode::DoSomething()
{
GLog->Log("doing something");
}

void AConsoleExecsGameMode::DoSomethingElse(float param)
{
GLog->Log("Param: " + FString::SanitizeFloat(param));
}

void AConsoleExecsGameMode::DoubleParamFunction(float param1, int32 param2)
{
GLog->Log("Param1: "+FString::SanitizeFloat(param1)+" - Param2: " +FString::FromInt(param2));
}

[свернуть]

Сохраняем и компилируем код. На нашем уровне, по умолчанию в настройках мира, не забудьте указать ваш С++ класс GameMode.

Image

[свернуть]

Затем, когда вы открываете консоль, можете выполнить эти функции, введя их и нажав Enter.
Для того чтобы передать несколько параметров к функции в окне консоли, введите имя функции, первый параметр, и через пробел второй параметр. Будет это выглядеть вот так:

DoubleParamFunction 123.4323 5000

А вот выполнение этой функции:

Image

[свернуть]

Original page


Читайте также: