ムラサメ研究ブログ

主にゲームやプログラミングのログ

UnrealEngine4 最初にBluePrintとのリフレクション部分を調べる part4 BluePrintに渡せる型

BluePrintに渡せる型

BluePrintになんでも渡せると思うな!

C++コード

UENUM(BlueprintType)
enum class EHogeEnum : uint8 {
    HOGE,
    HOGE2,
    HOGE3
};

USTRUCT(BlueprintType)
struct BPSAMPLE_API FHoge {
    GENERATED_USTRUCT_BODY()
        float x;
};

USTRUCT(BlueprintType)
struct BPSAMPLE_API FHogeStruct {
    GENERATED_USTRUCT_BODY()

public:
    UPROPERTY(BlueprintReadWrite)   FHoge hoge_;
    UPROPERTY(BlueprintReadWrite)   EHogeEnum enum_;

    UPROPERTY(BlueprintReadWrite)   uint8   uint8_;
// UPROPERTY(BlueprintReadWrite)   uint16  uint16_;
// UPROPERTY(BlueprintReadWrite)   uint32  uint32_;
// UPROPERTY(BlueprintReadWrite)   uint64  uint64_;
// UPROPERTY(BlueprintReadWrite)   int8    int8_;
// UPROPERTY(BlueprintReadWrite)   int16   int16_;
    UPROPERTY(BlueprintReadWrite)   int32   int32_;
// UPROPERTY(BlueprintReadWrite)   int64   int64_;

    UPROPERTY(BlueprintReadWrite)   float  float_;
// UPROPERTY(BlueprintReadWrite)   double  double_;

    UPROPERTY(BlueprintReadWrite)   bool   bool_;

    UPROPERTY(BlueprintReadWrite)   FString FString_;
    UPROPERTY(BlueprintReadWrite)   FName   FName_;
    UPROPERTY(BlueprintReadWrite)   AActor  *AActor_;

    UPROPERTY(BlueprintReadWrite)   TArray<int32> TArray_;
// UPROPERTY(BlueprintReadWrite)   TMap<int32, int32>    TMap_;
// UPROPERTY(BlueprintReadWrite)   TSet<int32>   TSet_;

};

コメントになっているのは、基本的に渡せないもの。 意外と渡せるの少ないですね

構造体、Enumは USTRUCT,UENUM 付きのものは渡せる プリミティブ型では uint8、int32、float、bool のみ

コンテは TArrayのみ

UObjectを継承しているクラスは渡せる f:id:murasame-labo:20160908113351p:plain