ScrollLayoutGroupComponent

스크롤뷰와 관련된 컴포넌트들을 하나로 제어할 수 있습니다.

# Properties

[{"index":"Vector2 CellSize","0":"자식 UI Entity의 고정 크기입니다. Grid 타입 전용입니다."}]

[{"index":"ChildAlignmentType ChildAlignment","0":"Entity에 여유 공간이 있을 때 자식 UI Entity의 정렬 방식을 설정합니다. Vertical, Grid 타입 전용입니다."}]

[{"index":"GridLayoutConstraint Constraint","0":"행, 열 개수에 대한 제약 사항입니다. Grid 타입 전용입니다."}]

[{"index":"int32 ConstraintCount","0":"제약 사항에 따라 고정하고자 하는 행 또는 열의 개수입니다. Grid 타입 전용입니다."}]

[{"index":"ChildAlignmentType GridChildAlignment","0":"Entity에 여유 공간이 있을 때 자식 UI Entity의 정렬 방식을 설정합니다. Grid 타입 전용입니다."}]

[{"index":"Vector2 GridSpacing","0":"자식 UI Entity간의 가로, 세로 간격입니다. Grid 타입 전용입니다."}]

[{"index":"HorizontalScrollBarDirection HorizontalScrollBarDirection","0":"가로 스크롤바의 방향입니다."}]

[{"index":"boolean IgnoreMapLayerCheck (Sync)","0":"SortingLayer에 Map Layer 이름을 지정했을 때 자동 치환을 수행하지 않습니다."}]

[{"index":"int32 OrderInLayer (Sync)","0":"같은 Layer 내의 우선순위를 결정합니다. 수가 클수록 앞에 보입니다."}]

[{"index":"boolean OverrideSorting (Sync) (ReadOnly)","0":"SortingLayer 및 OrderInLayer 값을 임의로 설정할지 여부를 결정합니다."}]

[{"index":"RectOffset Padding","0":"레이아웃 그룹의 상하좌우의 여유 공간을 설정합니다."}]

[{"index":"boolean ReverseArrangement","0":"기존 정렬과 반대로 정렬할지 여부입니다. Vertical, Horizontal 타입 전용입니다."}]

[{"index":"Color ScrollBarBackgroundColor","0":"스크롤바의 배경 색상입니다."}]

[{"index":"DataRef ScrollBarBgImageRUID","0":"스크롤바의 배경 이미지입니다."}]

[{"index":"Color ScrollBarHandleColor","0":"스크롤바의 핸들 색상입니다."}]

[{"index":"DataRef ScrollBarHandleImageRUID","0":"스크롤바의 핸들 이미지입니다."}]

[{"index":"float ScrollBarThickness","0":"스크롤바 영역의 두께입니다."}]

[{"index":"ScrollBarVisibility ScrollBarVisible","0":"스크롤바의 표시 여부를 설정합니다."}]

[{"index":"string SortingLayer (Sync)","0":"2개 이상의 엔티티가 겹쳤을 때 Sorting Layer에 따라 보이는 우선순위가 결정됩니다."}]

[{"index":"float Spacing","0":"자식 UI Entity간의 간격입니다. Vertical, Horizontal 타입 전용입니다."}]

[{"index":"GridLayoutAxis StartAxis","0":"자식 UI Entity의 정렬 방향입니다. Grid 타입 전용입니다."}]

[{"index":"GridLayoutCorner StartCorner","0":"자식 UI Entity의 정렬 시작 위치입니다. Grid 타입 전용입니다."}]

[{"index":"LayoutGroupType Type","0":"레이아웃 그룹의 정렬 형식을 설정합니다."}]

[{"index":"boolean UseScroll","0":"스크롤 기능 사용 여부를 설정합니다."}]

[{"index":"VerticalScrollBarDirection VerticalScrollBarDirection","0":"세로 스크롤바의 방향입니다."}]

##### inherited from Component:

[{"index":"boolean Enable (Sync)","0":"컴포넌트 활성화 여부를 확인합니다."}]

[{"index":"boolean EnableInHierarchy (ReadOnly) (HideFromInspector)","0":"계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다."}]

[{"index":"Entity Entity (ReadOnly)","0":"이 컴포넌트를 소유한 엔티티입니다."}]

# Methods

[{"index":"Vector2 GetScrollNormalizedPosition()","0":"스크롤바의 정규화된 위치를 반환합니다."}]

[{"index":"float GetScrollNormalizedPosition(UITransformAxis axis)","0":"지정한 방향 스크롤바의 정규화된 위치를 반환합니다."}]

[{"index":"void ResetScrollPosition(UITransformAxis axis)","0":"지정한 축의 스크롤바 위치를 처음 위치로 이동합니다. 스크롤바의 방향에 따라 처음 위치가 다릅니다."}]

[{"index":"void SetScrollNormalizedPosition(UITransformAxis axis, float value)","0":"지정한 축의 스크롤바 위치를 지정한 정규화된 위치로 이동합니다. 스크롤바의 방향에 따라 0, 1의 방향이 다릅니다."}]

[{"index":"void SetScrollPositionByItemIndex(int32 index)","0":"스크롤바 위치를 특정 index의 자식 UI Entity가 보이는 위치로 이동합니다."}]

##### inherited from Component:

[{"index":"boolean IsClient()","0":"현재 실행 환경이 클라이언트인지 아닌지의 여부를 반환합니다."}]

[{"index":"boolean IsServer()","0":"현재 실행 환경이 서버인지 아닌지의 여부를 반환합니다."}]

# Events

[{"index":"OrderInLayerChangedEvent","0":"Component의 OrderInLayer가 변경되었을 때 발생하는 이벤트입니다."}]

[{"index":"ScrollPositionChangedEvent","0":"스크롤이 가능한 UI Entity에서 스크롤 위치가 변경될 때 발생하는 이벤트입니다. UI Entity에 ScrollLayoutGroupComponent 또는 GridViewComponent가 있어야 이벤트가 발생합니다."}]

[{"index":"SortingLayerChangedEvent","0":"컴포넌트의 SortingLayer가 변경되었을 때 발생하는 이벤트입니다."}]

# Examples

`ScrollLayoutGroupComponent`의 `CellSize`를 변경하고, 1열로 고정한 다음, `ItemEntity`를 `InitItemCount` 만큼 복제해서 `ScrollLayoutGroupComponent`에 추가하는 예제입니다.

이 Component를 `ScrollLayoutGroupComponent`가 있는 Entity에 추가하고, `ItemEntity`, `InitItemCount` 프로퍼티 값을 설정한 후 테스트 할 수 있습니다.
    
    
    @Component
    script ItemGridInitializer extends Component
        property Entity ItemEntity = nil
        property number InitItemCount = 0
    
        method void OnBeginPlay()
        self.ItemEntity = self.Entity:GetChildByName("Scroll_Image")
        self.InitItemCount = 10
    
        self:Init()
        end
    
        method void Init()
        if not self.ItemEntity then
        	return
        end
    
        local scrollLayoutComp = self.Entity.ScrollLayoutGroupComponent
        if scrollLayoutComp then
        	scrollLayoutComp.CellSize = Vector2(200, 200)
        	scrollLayoutComp.Constraint = GridLayoutConstraint.FixedColumnCount
        	scrollLayoutComp.ConstraintCount = 1
        end
    
        local i = 0
        for i = 0, self.InitItemCount, 1 do
        	local itemslot = _SpawnService:Clone("Item", self.ItemEntity, self.Entity)
        end
        end
    end
    

# SeeAlso

  * Entity
  * Vector2
  * SpawnService