Unreal Engine 组件上的可蓝图 UFUNCTION 导致构建错误
Unreal Engine blueprintable UFUNCTION on component causes build error
我已经创建了一个从 UActorComponent 派生的 class,我想使它的一些方法成为 BlueprintCallable。但是,将其添加到 UFUNCTION 宏会导致构建错误。
class header 看起来像这样:
#include "CoreMinimal.h"
#include "Components/ActorComponent.h"
#include "Includes.h"
#include "Items/ItemInfo.h"
#include "Inventory.generated.h"
UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
class UNTITLEDGAME_API UInventory : public UActorComponent
{
GENERATED_BODY()
public:
// Sets default values for this component's properties
UInventory();
protected:
// Called when the game starts
virtual void BeginPlay() override;
/*
*some other methods
*/
public:
UFUNCTION() // like this it's fine, but if I put BlueprintCallable or BlueprintPure keyword here it causes troubles
uint32 GetNumberOfItems() const;
};
我不知道我应该如何让它工作,特别是因为它在我以前的一个项目中工作过。
有人可以帮我解决这个问题吗?
问题是虚幻蓝图不支持 uint32 类型:您必须坚持使用 int32(或 uint8 / Byte)
我已经创建了一个从 UActorComponent 派生的 class,我想使它的一些方法成为 BlueprintCallable。但是,将其添加到 UFUNCTION 宏会导致构建错误。 class header 看起来像这样:
#include "CoreMinimal.h"
#include "Components/ActorComponent.h"
#include "Includes.h"
#include "Items/ItemInfo.h"
#include "Inventory.generated.h"
UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
class UNTITLEDGAME_API UInventory : public UActorComponent
{
GENERATED_BODY()
public:
// Sets default values for this component's properties
UInventory();
protected:
// Called when the game starts
virtual void BeginPlay() override;
/*
*some other methods
*/
public:
UFUNCTION() // like this it's fine, but if I put BlueprintCallable or BlueprintPure keyword here it causes troubles
uint32 GetNumberOfItems() const;
};
我不知道我应该如何让它工作,特别是因为它在我以前的一个项目中工作过。 有人可以帮我解决这个问题吗?
问题是虚幻蓝图不支持 uint32 类型:您必须坚持使用 int32(或 uint8 / Byte)