UUserWidget 클래스 내에 연관된 플레이어 캐릭터를 가져오는 함수가 존재한다. T같은 경우엔 미리 캐스팅해서 반환해준다는 점이 다르다.
FLocalPlayerContext 구조체 변수에 의해 가져오게 된다.
// 템플릿 함수 캐스팅해서 반환한다
template < class T >
T* GetOwningPlayerPawn() const
{
return Cast<T>(GetOwningPlayerPawn());
}
// 플레이어 폰을 가져오는 함수
APawn* UUserWidget::GetOwningPlayerPawn() const
{
if (APlayerController* PC = GetOwningPlayer())
{
return PC->GetPawn();
}
return nullptr;
}
// 플레이어 캐릭터를 반환하는 함수 PlayerContext가 사용 불가능하다면 널을 반환한다.
APlayerController* UUserWidget::GetOwningPlayer() const
{
return PlayerContext.IsValid() ? PlayerContext.GetPlayerController() : nullptr;
}
'게임엔진 > Unreal' 카테고리의 다른 글
[Unreal] 멀티플레이 개념잡기 Replicated (0) | 2022.11.27 |
---|---|
[Unreal] 디버깅용 드로워 이용 방법 (Draw Debug) (0) | 2022.11.22 |
[Unreal] 포인터 널 체크는 조심히 하도록 하자 (0) | 2022.10.21 |
[Unreal] 리깅 및 리타겟터 (각기 다른 메시 애니메이션 연동 Mixamo) (0) | 2022.10.19 |
[Unreal] 애니메이션 이벤트 관련 / Notify 및 NotifyState (0) | 2022.10.17 |