MyCustomPlayerController

MyCustomPlayerController

我目前正在使用Unreal Engine 4开发我的第一堂课。由于广泛使用UScript,我对纯C ++中类型转换的工作方式有些困惑。更具体地说,类/对象转换。

我目前正在MyCustomGameMode中组合一个switch语句,该语句调用MyCustomPlayerControllerVariable的MyCustomPlayerController。

我要覆盖的有问题的功能是以下之一:virtual UClass* GetDefaultPawnClassForController(AController* InController);

当前,我正在尝试使用以下代码行调用变量,我知道这是不正确的,但是我不确定为什么:

Cast<MyCustomPlayerController>(InController).MyCustomPlayerControllerVariable


我有兴趣将“ InController”强制转换为MyCustomPlayerController,但Cast<MyCustomPlayerController>(InController)似乎不起作用,我在这里做错了什么?

最佳答案

强制转换将返回一个指向您的播放器控制器的指针,因此您需要使用->取消引用它。

const MyCustomPlayerController* MyController = Cast<MyCustomPlayerController>(InController);
check(MyCustomPlayerController);  // asserts that the cast succeeded
const float MyVariable = MyCustomPlayerController->ControllerVariable;


`

09-06 04:29