2025_02_04TIL 알고리즘, 언리얼 자료구조,델리게이트

별빛에소원을·2025년 2월 4일

TeamSparta-Unreal1기-TIL

목록 보기
36/90
post-thumbnail

알고리즘 : 공원산책

자료구조 :

TArray

Object를 담을 경우 UPROPERTY()를 써야한다. 내부적으로 TSharedPtr을 사용하기 때문에
원시포인트를 넣지 않고 스마트포인트를 쓸 경우 gc에러가 발생한다.

add는 index를 반환한다.
push는 reference를 반환한다.

TMap

UStruct

TSet

언리얼 델리게이트

Delegate패턴은 기능을 위임하는 Delegate를 지정하는 디자인 패턴으로 두 클래스 간 의존성을 줄이고, 기능추가에 따른 코드 변경이 적어지며 언리얼 엔진에서는 이벤트 기반의 구조 설계까지 하는 디자인 패턴이다.

언리얼에서 Delegate 사용법은 어렵지 않다.

위 표는 선언한 함수별 매크로를 정리해 놓은 것이다. 매개변수가 하나면 DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)

기능을 가지고 올 클래스

UCLASS()
class YourClass1
{
public:
	void func(Param);
};

기능을 확장할 클래스

DECLARE_DELEGATE_OneParam(Name, Param);

UCLASS()
class YourClass2
{
public:
	Name delegate
};

위처럼 설정이 되어있다면 bind만 하면 된다.

// YourClass1 에서 작업한다면

auto ptr = new YourClass2()
ptr->delegate.BindUObject(this, YourClass1::func);

사용은 다음과 같다.

delegate.ExecuteIfBound(Param);

Timer

	GetWorld()->GetTimerManager().SetTimer(SpiralSpeedTimer,
	this, &ASpiralActor::SetRandomSpiralSpeed,5.f,true);
profile
취미로 게임하는사람

0개의 댓글