首页 > 解决方案 > UE4 - 宏化 UHT 宏

问题描述

目前我正在尝试减少我必须编写的琐碎代码(因为我需要大约 28 个这样的东西)并使代码看起来更整洁,更易于管理。

现在我想要这个

UFUNCTION(BlueprintCallable, BlueprintNativeEvent) 
    void OnInputShootDown(); 
UFUNCTION(BlueprintCallable, BlueprintNativeEvent) 
    void OnInputShootUp();

我正在使用它来尝试到达那里

#define INPUT_DEFINITION(inputName) \
UFUNCTION(BlueprintCallable, BlueprintNativeEvent) \
    void OnInput##inputName##Down(); \
UFUNCTION(BlueprintCallable, BlueprintNativeEvent) \
    void OnInput##inputName##Up();

但是我认为我的宏正在以一种擦除 UHT 宏的方式进行扩展,而且,即使这确实有效,您也需要在 UHT 宏之后添加一个换行符才能使它们工作,我也不知道该怎么做。有谁知道是否有办法做到这一点,还是我必须把它吸起来并输入所有内容?

标签: c++macrosunreal-engine4

解决方案


推荐阅读