C++ 클래스를 만들면 헤더 파일(.h)과 소스 파일(.cpp) 두 파일이 생성된다.
1) 변수 및 함수 선언
헤더 파일에서 선언한다.
a. int32
: 정수형 변수로, 표준으로 사용하는 int 자료형은 플랫폼마다 차지하는 메모리 크기가 달라지는 경우가 있기 때문에 32비트로 고정된 int32 를 사용한다.
b. FString
: 문자열 변수로, 위와 마찬가지로 표준인 string 자료형은 크기가 달라질 우려가 있어 언리얼에서 자체적으로 만든 FString을 사용한다.
2) 함수 구현 및 사용
a. UE_LOG
(로그 카테고리, 로그 수준, 출력될 텍스트) : 텍스트를 Output Log에 출력한다. 로그 카테고리나 로그 수준을 설정해 보고싶은 텍스트만 선별해서 볼 수 있다.
b. FString 자료형은 포인터 변수로 되어있기 때문에 그 곳에 저장된 '값'에 접근할 때는 *를 붙여줘야 한다.
c. 함수를 구현할 때, 함수 이름 앞에 헤더 파일의 클래스명을 붙여야 한다.
코드에 구현된 클래스와 변수, 함수 등을 미리 읽고 조사하는 기능인 '리플렉션' 기능에 등록해서 변수를 읽거나 수정하는 것의 가능 여부를 설정하기 위한 시스템
1) UPROPERTY는 적용하려는 변수의 앞에 붙여야 한다.
2) UPROPERTY 종류
a. EditAnywhere
: 어디든지 수정 가능
b. EditInstanceOnly
: 월드에 배치된 인스턴스에서만 수정 가능
c. EditDefaultsOnly
: 블루프린트 설정창에서만 수정 가능
d. VisibleAnywhere
: 어디서든 보기 가능
e. VisibleInstanceOnly
: 월드에 배치된 인스턴스에서만 보기 가능
f. VisibleDefaultsOnly
: 블루프린트 설정창에서만 보기 가능
g. BlueprintReadWrite
: 블루프린트 그래프에서 Get, Set 전부 가능
h. BlueprintReadOnly
: 블루프린트 그래프에서 Get 만 가능.
1) UFUNCTION도 적용하려는 함수의 앞에 붙인다. 붙이면 블루프린트의 그래프에서 사용이 가능해진다.
2) UFUNCTION의 몇 가지 종류
a. BlueprintCallable
: C++ 에서 작성한 함수를 블루프린트에서 사용 가능하게 함. (Setter성격의 함수)
b. BlueprintPure
: 위와 같지만 실행 할 수 없어 오브젝트에 영향을 줄 수 없고, 값을 읽어올 수만 있게 함. (Getter 성격의 함수)