1、需求
现在需要开发编辑器工具给到美术使用,美术只需要在开发好的编辑器控件添加所需要的美术关卡到编辑器控件当中,然后自动上传服务器即可,所以现在需要获取到在编辑器当中选择到的关卡名称,但是蓝图无法满足我们的需求,所以使用C++开发
2、效果图
如下图所示,输出了选择的关卡名称
可以把关卡名称上传到服务器,等到程序运行时去获取上传的关卡名称来做关卡的加载和卸载
3、实现
由于蓝图无法满足所需,所以使用UE提供的C++函数来实现
源码如下所示
.h
UFUNCTION( BlueprintCallable)
static TArray<FString> GetSelectedLevels(UWorld* World);
.cpp
TArray<FString> UDigitalFunctionLibrary::GetSelectedLevels(UWorld* World)
{
TArray<FString> OutLevels;
if(World)
{
for (const auto& Item : World->GetSelectedLevels())
{
OutLevels.Add(Item->GetOuter()->GetName());
}
}
return OutLevels;
}
4、使用方法
首先获取到编辑器下的World,这个是虚幻提供的子系统,直接给到我们的World变量,然后直接输出的就是关卡的名称了,简单粗暴。