개요
UE4(Unreal Engine)의 UPROPERTY에는 여러 메타데이터 지정자가 있다. 그 중 EditCondition(EditConditionHides) 지정자를 사용하여 UPROPERTY 값에 따라 에디터에서 속성을 선택적으로 활성화, 비활성화 및 숨기는 방법을 기록하고자 한다.
기본 사용
일반적으로 bool 타입을 지정하여 활성화, 비활성화 할 수 있다.
UPROPERTY(EditAnywhere, Category = "Move")
bool bCanMove = true;
UPROPERTY(EditAnywhere, Category = "Move", meta = (EditCondition = "bCanMove"))
int MoveSpeed = 100;
숨김 옵션
EditConditionHides
지정자를 추가하여 MoveSpeed 프로퍼티를 표시/숨김 처리 할 수 있다.
UPROPERTY(EditAnywhere, Category = "Move")
bool bCanMove = true;
UPROPERTY(EditAnywhere, Category = "Move", meta = (EditCondition = "bCanMove", EditConditionHides))
int MoveSpeed = 100;
고급 사용 (Enum)
UE4 4.23 버전 부터 지원되는 기능이다. (릴리즈 노트 참고)
bool 타입 뿐 아니라, 표현식이 사용 가능해 졌다.
포인터를 사용할 경우 MyPtr
이 아닌 MyPtr != nullptr
형태로 사용해야 한다.
UENUM(BlueprintType)
enum class ETestType : uint8
{
A_Type,
B_Type
};
//---------------------------------------------
UPROPERTY(EditAnywhere, Category="Move")
ETestType TestType = ETestType::A_Type;
UPROPERTY(EditAnywhere, Category="Move", meta=(EditCondition="TestType == ETestType::A_Type"))
float A_Speed = 10.0f;
UPROPERTY(EditAnywhere, Category="Move", meta=(EditCondition="TestType == ETestType::B_Type"))
float B_Speed = 1.0f;
반응형