4#include "Components/HorizontalBox.h"
5#include "Components/Image.h"
6#include "Blueprint/WidgetTree.h"
18 for (int32 i = 0; i < PageCount; ++i)
20 UUserWidget* newDot = CreateWidget<UUserWidget>(GetWorld(),
DotWidgetClass);
39 if (!
dotList.IsValidIndex(PageIndex))
45 for (int32 i = 0; i <
dotList.Num(); ++i)
70 UImage* dotImage = Cast<UImage>(DotWidget->GetWidgetFromName(TEXT(
"Image_Dot")));
73 if (!dotImage && DotWidget->WidgetTree)
75 TArray<UWidget*> allWidgets;
76 DotWidget->WidgetTree->GetAllWidgets(allWidgets);
78 for (UWidget* widget : allWidgets)
80 if (UImage* image = Cast<UImage>(widget))
101 dotImage->SetColorAndOpacity(
Color);
105 DotWidget->SetRenderScale(FVector2D(Scale, Scale));
FLinearColor UnselectedColor
비선택된 도트의 색상
TSubclassOf< class UUserWidget > DotWidgetClass
개별 도트 위젯 클래스
float UnselectedScale
비선택된 도트의 스케일
void UpdateDotAppearance(UUserWidget *DotWidget, FLinearColor Color, float Scale)
도트의 색상과 스케일을 설정합니다.
FLinearColor SelectedColor
선택된 도트의 색상
float SelectedScale
선택된 도트의 스케일
TArray< TObjectPtr< UUserWidget > > dotList
생성된 도트 위젯 목록
void SetCurrentPage(int32 PageIndex)
현재 선택된 페이지를 설정합니다.
void SetNumberOfPages(int32 PageCount)
도트 개수를 설정합니다.
int32 currentPageIndex
현재 선택된 페이지 인덱스
class UImage * GetDotImage(UUserWidget *DotWidget) const
도트 위젯의 Image 컴포넌트를 찾습니다.
TObjectPtr< class UHorizontalBox > DotContainer
생성된 도트들을 담을 컨테이너