#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "Item.generated.h"
UCLASS()
class SPARTAPROJECT_API AItem : public AActor
{
GENERATED_BODY()
public:
// 생성자
AItem();
protected:
// 액터가 월드에 '배치된 직후' 한 번만 호출
virtual void BeginPlay() override;
// 매 프레임마다 자동으로 호출
virtual void Tick(float DeltaTime) override;
};
.h파일 상단
- #pragma once : 컴파일 시 한번만 처리하는 지시어.
- #include "CoreMinimal.h" : 언리얼 엔진의 기본 타입(FString, TArray 등)과 매크로(UE_LOG등), 각종 유틸 함수가 정의되어 있음.
- #include "GameFramework/Actor.h" : AActor를 상속받기 위한 헤더 파일.
- #include "Item.generated.h" : 리플렉션 시스템에 필요한 코드를 생성하기 위한 매크로로 항상 마지막에 위치.
.h파일 클래스 선언부
- UCLASS() : 이 클래스를 언리얼 엔진의 리플렉션 시스템에 인식하도록 하는 매크로
- class SPARTAPROJECT_API AItem : public AActor : AActor를 상속받아 AItem 클래스를 정의.
(언리얼 엔진에서는 접두어를 붙이는 것을 권장. Actor - A , Object - U , 구조체 - F , Enum - E 등..
- SPARTAPROJECT_API : 이 클래스를 모듈 (여기서는 SpartaProject) 외부로 Export하기 위한 매크로. DLL 등으로 빌드할 때 필요한 선언.
- GENERATED_BODY() : 리플렉션 데이터를 자동으로 생성하기 위한 언리얼 엔진의 매크로.
- AItem() : 생성자.
- BeginPlay() : 엑터가 월드에 완전히 배치된 뒤, 게임이 플레이 상태로 시작할 때 한 번 호출.
- Tick(float DeltaTime) : 매 프레임마다 자동으로 불림.