GridViewComponent

규격화된 UI Entity들을 Grid 형태로 표현합니다. 화면에 보이는 UI Entity만 생성하고 재사용합니다. 대량의 Grid를 표현하기에 최적화된 형태입니다.

# Properties

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

[{"index":"int32 FixedCount","0":"고정된 행 혹은 열의 개수를 설정합니다."}]

[{"index":"GridViewFixedType FixedType","0":"행을 고정할지 열을 고정할지 설정합니다."}]

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

[{"index":"Entity ItemEntity (HideFromInspector)","0":"자식 UI Entity 생성 시 복제될 원본입니다. ItemEntity로 설정된 엔티티는 disable 됩니다."}]

[{"index":"func OnClear (HideFromInspector)","0":"자식 UI Entity가 사용되지 않을 때 호출되는 콜백입니다. 자식 UI Entity의 인덱스와 UI Entity가 전달됩니다."}]

[{"index":"func OnRefresh (HideFromInspector)","0":"자식 UI Entity가 재사용될 때 호출되는 콜백입니다. 자식 UI Entity 의 인덱스와 UI Entity가 전달됩니다."}]

[{"index":"RectOffset Padding","0":"그리드뷰의 상하좌우 여유 공간을 설정합니다."}]

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

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

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

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

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

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

[{"index":"Vector2 Spacing","0":"자식 UI Entity간의 간격입니다."}]

[{"index":"int32 TotalCount","0":"GridView에 표시될 자식 UI Entity의 총개수입니다."}]

[{"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 Refresh(boolean resetPos = true, boolean force = false)","0":"GridView의 자식 UI Entity를 전체 갱신합니다. resetPos가 true라면 갱신 후 스크롤 위치를 초기화합니다."}]

[{"index":"void RefreshIndex(int32 index)","0":"특정 index의 자식 UI Entity를 갱신합니다. 자식 UI Entity의 index와 UI Entity가 OnRefresh 콜백을 통해 호출됩니다."}]

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

# Examples

레이아웃에 따라 엔티티를 정렬하는 예제입니다.
    
    
    @Component
    script InventorySlotDisplay extends Component
        property any Inventory = nil
        property Entity InventorySlot = nil
    
        @ExecSpace("ClientOnly")
        method void OnBeginPlay()
        self.Inventory.ItemEntity = self.InventorySlot
        self.Inventory.OnRefresh = self.OnRefresh
        self.Inventory.OnClear = self.OnClear
        self.Inventory.TotalCount = 10
        self.Inventory:Refresh()
        end
    
        method void OnRefresh(number index, Entity entity)
        entity:GetChildByName("Name").TextComponent.Text = tostring(index)
        end
    
        method void OnClear(number index, Entity entity)
        entity:GetChildByName("Name").TextComponent.Text = ""
        end
    end
    

# SeeAlso

  * TextComponent
  * global