UE4 使用自定义的Console Command

在这里插入图片描述

关卡蓝图中使用(方便)

直接在关卡蓝图中定义 然后可以通过ce + 函数名的方式调用
在这里插入图片描述

在这里插入图片描述

任意蓝图类

定义普通的函数,通过ke * + 函数名调用 这里 *代表任意不同的类的actor 凡是有Test3函数的都会调用,假如想指定某个类或者蓝图的函数调用可通过ke 类名的方式,这里注意如果是蓝图后缀需要添加_C
ke

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

C++中定义可执行函数

普通的actor是只能通过ke + 类名 + 函数名这种方式执行,只有GameMode Controller 或者Pawn, HUD这种才能直接通过函数名执行
在这里插入图片描述
在这里插入图片描述

C++ 重载自定义命令的调用

真对某条指令自定义功能调用,在GameMode,PlayerController, 或者Pawn中重载ProcessConsoleExec函数

bool AMyGameModeBase::ProcessConsoleExec(const TCHAR* Cmd, FOutputDevice& Ar, UObject* Executor)
{

	if (FPlatformString::Stricmp(Cmd, TEXT("Test4")) == 0)
	{
		for (TObjectIterator<UObject> It; It; ++It)
		{
			UObject* const Obj = *It;
			UWorld const* const ObjWorld = Obj->GetWorld();
			if (ObjWorld == GetWorld())
			{
				const bool bSucceeded = Obj->CallFunctionByNameWithArguments(Cmd, Ar, nullptr, true);
			}
		}
		return true;
	}
	else
	{
		return Super::ProcessConsoleExec(Cmd, Ar, Executor);
	}
}

这里针对Test4 单独进行了处理,可以直接调用场景中所有包含名称是Test4的可执行函数进行调用

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值