본문 바로가기

게임프로그래밍/실습2

[실습2] MVVM 바인딩을 위한 FieldNotify 생성하기

변수를 선언한다. 이때 원하는 타입이나 변수명은 원하는 것으로 하면 될 것이다.

UPROPERTY(EditAnywhere, BlueprintReadWrite, FieldNotify, Setter, Getter)
FString 변수명;

 

 

그 다음 UPROPERTY 매크로를 사용해야하는데 이때 Access 권한을 전부 주는 것이 중요하다.

 

이제 여기서는 Getter와 Setter 모두 설정한다고 하였으니 함수를 구현하면 된다.

Getter는 간단하다.

 

FString Get변수명()const { return 변수명; }

 

그냥 반환만 하면 되는데 이때 중요한 점은 함수 이름을 Get(변수명)으로 해야 된다는 것이다. Setter도 마찬가지이다.

 

void Set변수명(FString In변수명);

 

매개변수는 굳이 저렇게 안해도 된다. 하지만 함수 이름은 꼭 Set(변수명)으로 설정하도록 하자.

 

Setter의 구현이다.

 

void UVM_LoadSlot::SetPlayerName(FString In변수명)
{
    UE_MVVM_SET_PROPERTY_VALUE(변수명, In변수명);
}

 

매크로를 사용해서 Set을 해주어야 블루프린트에서 바인딩 할때 정상적으로 바인딩이 된다.

 

참고로 Getter랑 Setter 함수의 이름을 다르게 하고 싶으면 Getter = "함수명" 이런 식으로 지정해주면 된다.