KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
UPageScrollDot 클래스 참조

페이지 스크롤 뷰의 인디케이터 위젯 현재 페이지를 시각적으로 표시하는 도트 인디케이터입니다. 더 자세히 ...

#include <UPageScrollDot.h>

+ UPageScrollDot에 대한 상속 다이어그램 :
+ UPageScrollDot에 대한 협력 다이어그램:

Public 멤버 함수

void SetCurrentPage (int32 PageIndex)
 현재 선택된 페이지를 설정합니다.
 
void SetNumberOfPages (int32 PageCount)
 도트 개수를 설정합니다.
 

Public 속성

float AnimationSpeed = 0.15f
 도트 애니메이션 속도 (초 단위)
 
TObjectPtr< class UHorizontalBox > DotContainer
 생성된 도트들을 담을 컨테이너
 
TSubclassOf< class UUserWidget > DotWidgetClass
 개별 도트 위젯 클래스
 
FLinearColor SelectedColor = FLinearColor::White
 선택된 도트의 색상
 
float SelectedScale = 1.2f
 선택된 도트의 스케일
 
FLinearColor UnselectedColor = FLinearColor(0.5f, 0.5f, 0.5f, 1.0f)
 비선택된 도트의 색상
 
float UnselectedScale = 1.0f
 비선택된 도트의 스케일
 

Private 멤버 함수

class UImage * GetDotImage (UUserWidget *DotWidget) const
 도트 위젯의 Image 컴포넌트를 찾습니다.
 
void UpdateDotAppearance (UUserWidget *DotWidget, FLinearColor Color, float Scale)
 도트의 색상과 스케일을 설정합니다.
 

Private 속성

int32 currentPageIndex = 0
 현재 선택된 페이지 인덱스
 
TArray< TObjectPtr< UUserWidget > > dotList
 생성된 도트 위젯 목록
 

상세한 설명

페이지 스크롤 뷰의 인디케이터 위젯 현재 페이지를 시각적으로 표시하는 도트 인디케이터입니다.

UPageScrollDot.h 파일의 14 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ GetDotImage()

UImage * UPageScrollDot::GetDotImage ( UUserWidget *  DotWidget) const
private

도트 위젯의 Image 컴포넌트를 찾습니다.

매개변수
[in]DotWidget도트 위젯
반환값
Image 컴포넌트

UPageScrollDot.cpp 파일의 64 번째 라인에서 정의되었습니다.

65{
66 if (!DotWidget)
67 return nullptr;
68
69 // "Image_Dot" 이름으로 Image 컴포넌트 찾기
70 UImage* dotImage = Cast<UImage>(DotWidget->GetWidgetFromName(TEXT("Image_Dot")));
71
72 // 못 찾았다면 WidgetTree에서 첫 번째 Image 컴포넌트 사용
73 if (!dotImage && DotWidget->WidgetTree)
74 {
75 TArray<UWidget*> allWidgets;
76 DotWidget->WidgetTree->GetAllWidgets(allWidgets);
77
78 for (UWidget* widget : allWidgets)
79 {
80 if (UImage* image = Cast<UImage>(widget))
81 {
82 dotImage = image;
83 break;
84 }
85 }
86 }
87
88 return dotImage;
89}

다음에 의해서 참조됨 : UpdateDotAppearance().

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ SetCurrentPage()

void UPageScrollDot::SetCurrentPage ( int32  PageIndex)

현재 선택된 페이지를 설정합니다.

매개변수
[in]PageIndex페이지 인덱스

UPageScrollDot.cpp 파일의 37 번째 라인에서 정의되었습니다.

38{
39 if (!dotList.IsValidIndex(PageIndex))
40 return;
41
42 currentPageIndex = PageIndex;
43
44 // 모든 도트 업데이트
45 for (int32 i = 0; i < dotList.Num(); ++i)
46 {
47 UUserWidget* dot = dotList[i];
48 if (!dot)
49 continue;
50
51 if (i == currentPageIndex)
52 {
53 // 선택된 도트
55 }
56 else
57 {
58 // 비선택된 도트
60 }
61 }
62}
FLinearColor UnselectedColor
비선택된 도트의 색상
float UnselectedScale
비선택된 도트의 스케일
void UpdateDotAppearance(UUserWidget *DotWidget, FLinearColor Color, float Scale)
도트의 색상과 스케일을 설정합니다.
FLinearColor SelectedColor
선택된 도트의 색상
float SelectedScale
선택된 도트의 스케일
TArray< TObjectPtr< UUserWidget > > dotList
생성된 도트 위젯 목록
int32 currentPageIndex
현재 선택된 페이지 인덱스

다음을 참조함 : currentPageIndex, dotList, SelectedColor, SelectedScale, UnselectedColor, UnselectedScale, UpdateDotAppearance().

다음에 의해서 참조됨 : SetNumberOfPages().

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ SetNumberOfPages()

void UPageScrollDot::SetNumberOfPages ( int32  PageCount)

도트 개수를 설정합니다.

매개변수
[in]PageCount페이지 수

UPageScrollDot.cpp 파일의 8 번째 라인에서 정의되었습니다.

9{
11 return;
12
13 // 기존 도트 제거
14 dotList.Empty();
15 DotContainer->ClearChildren();
16
17 // 새 도트 생성
18 for (int32 i = 0; i < PageCount; ++i)
19 {
20 UUserWidget* newDot = CreateWidget<UUserWidget>(GetWorld(), DotWidgetClass);
21 if (!newDot)
22 continue;
23
24 // DotContainer에 추가
25 DotContainer->AddChild(newDot);
26
27 // 초기 색상/스케일 설정 (비선택 상태)
29
30 dotList.Add(newDot);
31 }
32
33 // 첫 번째 도트를 선택 상태로 설정
35}
TSubclassOf< class UUserWidget > DotWidgetClass
개별 도트 위젯 클래스
void SetCurrentPage(int32 PageIndex)
현재 선택된 페이지를 설정합니다.
TObjectPtr< class UHorizontalBox > DotContainer
생성된 도트들을 담을 컨테이너

다음을 참조함 : DotContainer, dotList, DotWidgetClass, SetCurrentPage(), UnselectedColor, UnselectedScale, UpdateDotAppearance().

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ UpdateDotAppearance()

void UPageScrollDot::UpdateDotAppearance ( UUserWidget *  DotWidget,
FLinearColor  Color,
float  Scale 
)
private

도트의 색상과 스케일을 설정합니다.

매개변수
[in]DotWidget도트 위젯
[in]Color색상
[in]Scale스케일

UPageScrollDot.cpp 파일의 91 번째 라인에서 정의되었습니다.

92{
93 if (!DotWidget)
94 return;
95
96 // Image 컴포넌트 찾기
97 UImage* dotImage = GetDotImage(DotWidget);
98 if (dotImage)
99 {
100 // 색상 설정
101 dotImage->SetColorAndOpacity(Color);
102 }
103
104 // 스케일 설정
105 DotWidget->SetRenderScale(FVector2D(Scale, Scale));
106}
class UImage * GetDotImage(UUserWidget *DotWidget) const
도트 위젯의 Image 컴포넌트를 찾습니다.

다음을 참조함 : Color, GetDotImage().

다음에 의해서 참조됨 : SetCurrentPage(), SetNumberOfPages().

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ AnimationSpeed

float UPageScrollDot::AnimationSpeed = 0.15f

도트 애니메이션 속도 (초 단위)

UPageScrollDot.h 파일의 70 번째 라인에서 정의되었습니다.

◆ currentPageIndex

int32 UPageScrollDot::currentPageIndex = 0
private

현재 선택된 페이지 인덱스

UPageScrollDot.h 파일의 84 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : SetCurrentPage().

◆ DotContainer

TObjectPtr<class UHorizontalBox> UPageScrollDot::DotContainer

생성된 도트들을 담을 컨테이너

UPageScrollDot.h 파일의 76 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : SetNumberOfPages().

◆ dotList

TArray<TObjectPtr<UUserWidget> > UPageScrollDot::dotList
private

생성된 도트 위젯 목록

UPageScrollDot.h 파일의 81 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : SetCurrentPage(), SetNumberOfPages().

◆ DotWidgetClass

TSubclassOf<class UUserWidget> UPageScrollDot::DotWidgetClass

개별 도트 위젯 클래스

UPageScrollDot.h 파일의 46 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : SetNumberOfPages().

◆ SelectedColor

FLinearColor UPageScrollDot::SelectedColor = FLinearColor::White

선택된 도트의 색상

UPageScrollDot.h 파일의 52 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : SetCurrentPage().

◆ SelectedScale

float UPageScrollDot::SelectedScale = 1.2f

선택된 도트의 스케일

UPageScrollDot.h 파일의 60 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : SetCurrentPage().

◆ UnselectedColor

FLinearColor UPageScrollDot::UnselectedColor = FLinearColor(0.5f, 0.5f, 0.5f, 1.0f)

비선택된 도트의 색상

UPageScrollDot.h 파일의 56 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : SetCurrentPage(), SetNumberOfPages().

◆ UnselectedScale

float UPageScrollDot::UnselectedScale = 1.0f

비선택된 도트의 스케일

UPageScrollDot.h 파일의 64 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : SetCurrentPage(), SetNumberOfPages().


이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: