# InventoryBox

## InventoryBox

클라이언트에서 사용되는 Widget InventoryBox 객체.

### **속성**

\


| **ImageDrawType** |
| ----------------- |

인벤토리 박스 이미지의 DrawType을 설정하고 얻을 수 있어요 (None, Tile, Slice, Border).

\-- 샘플 --

```lua
local inventoryBox = Workspace.ScreenUI.InventoryBox

inventoryBox.ImageDrawType = Enum.ImageDrawType.Image
```

\


| **ImageSliceLeftRight** |
| ----------------------- |

인벤토리 박스 이미지의 DrawType이 Slice, Border일 때의 Slice 좌우영역(각각 0부터 1사이)을 정하고 얻을 수 있어요(Left, Right).

\-- 샘플 --

```lua
local inventoryBox = Workspace.ScreenUI.InventoryBox

inventoryBox.ImageDrawType = Enum.ImageDrawType.Slice
inventoryBox.SliceLeftRight = Vector.new(0.5, 0.5, 0) --X : 좌 / Y : 우
```

\


| **ImageSliceTopBottm** |
| ---------------------- |

인벤토리 박스 이미지의 DrawType이 Slice, Border일 때의 Slice 좌우영역(각각 0부터 1사이)을 정하고 얻을 수 있어요(Top, Bottom).

\-- 샘플 --

```lua
local inventoryBox = Workspace.ScreenUI.InventoryBox

inventoryBox.ImageDrawType = Enum.ImageDrawType.Slice
inventoryBox.SliceTopBottom = Vector.new(0.5, 0.5, 0) --X : 상 / Y : 하
```

\


| **ImageTiling** |
| --------------- |

인벤토리 박스 이미지의 DrawType이 Tile일 때의 옵션값을 설정하고 얻을 수 있어요 (NoTile, Horizontal, Vertical, Both)

\-- 샘플 --

```lua
local inventoryBox = Workspace.ScreenUI.InventoryBox

inventoryBox.ImageDrawType = Enum.ImageDrawType.Image
inventoryBox.ImageTiling = Enum.ImageTilingType.Both
```

### **함수**

\


| **void SetColumn(number Count)** |
| -------------------------------- |

GridBox의 행 개수를 설정 할 수 있어요.

\


| **void SetWidthPadding(number Value)** |
| -------------------------------------- |

GridBox의 행 사이를 설정 할 수 있어요.

\-- 샘플 --

```lua
local inventoryBox = Workspace.ScreenUI.InventoryBox
inventoryBox:SetWidthPadding(100)
```

\


| **float GetWidthPadding()** |
| --------------------------- |

인벤토리박스의 행 사이를 가져올 수 있어요.

\-- 샘플 --

```lua
local inventoryBox = Workspace.ScreenUI.InventoryBox
print(inventoryBox:GetWidthPadding())
```

\


| **void SetHeightPadding(number Value)** |
| --------------------------------------- |

GridBox의 열 사이를 설정 할 수 있어요.

\-- 샘플 --

```lua
local inventoryBox = Workspace.ScreenUI.InventoryBox
inventoryBox:SetHeightPadding(100)
```

\


| **float GetHeightPadding()** |
| ---------------------------- |

인벤토리박스의 열 사이를 가져올 수 있어요.

\-- 샘플 --

```lua
local inventoryBox = Workspace.ScreenUI.InventoryBox
print(inventoryBox:GetHeightPadding())
```

\


| **void SetSlotSize(number XSize, number YSize)** |
| ------------------------------------------------ |

GridBox의 슬롯의 사이즈를 설정 할 수 있어요.

\-- 샘플 --

```lua
local inventoryBox = Workspace.ScreenUI.InventoryBox
inventoryBox:SetSlotSize(50, 50)
```

\


| **vector2D GetSlotSize()** |
| -------------------------- |

인벤토리박스의 슬롯 사이즈를 가져올 수 있어요.

\-- 샘플 --

```lua
local inventoryBox = Workspace.ScreenUI.InventoryBox
print(inventoryBox:GetSlotSize())
```

\


| **void SetBackgroundColor(Color color)** |
| ---------------------------------------- |

GridBox의 배경 색을 설정할 수 있어요. (변경할 색)

\-- 샘플 --

```lua
local inventoryBox = Workspace.ScreenUI.InventoryBox
InventoryBox:SetBackgroundColor(Color.new(0, 0, 255, 255))
```

\


| **color GetBackgroundColor()** |
| ------------------------------ |

인벤토리박스의 배경 색을 가져올 수 있어요.

\-- 샘플 --

```lua
local inventoryBox = Workspace.ScreenUI.InventoryBox
print(InventoryBox:GetBackgroundColor())
```

\


| **void SetContentTransparency(number Value)** |
| --------------------------------------------- |

GridBox의 투명도를 설정할 수 있어요. (number Value)

\-- 샘플 --

```lua
local inventoryBox = Workspace.ScreenUI.InventoryBox
inventoryBox:SetContentTransparency(0.5)
```

\


| **void SetOrientationType(ScrollOrientationType Type)** |
| ------------------------------------------------------- |

GridBox의 스크롤 타입을 설정할 수 있어요(Enum.ScrollOrientationType.Type)

\


| **void SetScrollBarValue(number ScrollRatio)** |
| ---------------------------------------------- |

ScrollBox의 스크롤바 위치를 실수 단위(0\~1)로 조정 0 이면 가장 위 1 이면 가장 아래

\


| **number GetScrollBarValue()** |
| ------------------------------ |

ScrollBox의 스크롤바 위치를 실수 단위로 반환

\
\


## **사용 가능한 부모 오브젝트 기능들**

### **속성**

| **이름**                                                                                         | **설명**                                   |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------- |
| [**Location**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)    | **위젯의 위치를 변경할 수 있어요. (X좌표 값, Y좌표 값, 0)** |
| [**Rotation**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)    | **위젯의 회전을 설정할 수 있어요. (설정할 값)**           |
| [**Scale**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)       | **위젯의 스케일을 설정할 수 있어요. (설정할 값)**          |
| [**Size**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)        | **위젯의 크기를 설정할 수 있어요. (가로값, 세로값, 0)**     |
| [**ZOrder**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)      | **위젯의 그리는 순서를 설정할 수 있어요.**               |
| [**Visible**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)     | **UI 위젯의 표시 여부를 설정할 수 있어요. (위젯 표시 여부)**  |
| [**Interaction**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase) | **UI 위젯의 반응 여부를 설정할 수 있어요. (위젯 반응 여부)**  |
| [**Opacity**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)     | **위젯의 투명 값을 설정할 수 있어요. (설정할 값)**         |
| [**AnchorType**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)  | **위젯의 고정 여부를 설정할 수 있어요. (설정할 타입)**       |
| [**IsFill**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)      | **위젯의 채우기를 설정할 수 있어요.**                  |

### **이벤트**

| **이름**                                                                                               | **설명**                                                                                                                                                                                   |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [**OnVisibleEvent**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)    | <p><strong>widget이 보여질 때 호출되는 이벤트에요.</strong><br><strong>연결함수 형식은 function(widget), widget 은 보여지는 widget 객체 입니다.</strong></p>                                                            |
| [**OnInVisibleEvent**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)  | <p><strong>widget이 안 보여질 때 호출되는 이벤트에요.</strong><br><strong>연결함수 형식은 function(widget), widget 은 안 보여지는 widget 객체 입니다.</strong></p>                                                        |
| [**OnBeginDragEvent**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)  | <p><strong>widget의 드래그가 시작 될 때 호출되는 이벤트에요.</strong><br><strong>연결함수 형식은 function(widget, vector2D), widget은 클릭한 객체, vector2D는 마우스 위치에요.</strong></p>                                     |
| [**OnCancelDragEvent**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase) | <p><strong>widget의 드래그가 취소될 때 호출되는 이벤트에요.</strong><br><strong>연결함수 형식은 function(widget, vector2D), widget은 클릭한 객체, vector2D는 마우스 위치에요.</strong></p>                                      |
| [**OnEndDragEvent**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)    | <p><strong>widget의 드래그가 드랍될 때 호출되는 이벤트에요.</strong><br><strong>연결함수 형식은 function(widget, vector2D, dragwidget), widget은 드랍한 객체, vector2D는 마우스 위치, dragwidget는 드래그한 widget에요.</strong></p> |

### **함수**

| **이름**                                                                                             | **설명**                                        |
| -------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| [**AddChildUIScene**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase) | **(deprecate) AddChildUIWidget 함수로 이용하세요.**   |
| [**AddChildWidget**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)  | **자식 UI 위젯을 추가할 수 있어요. (자식으로 추가할 UI 위젯)**     |
| [**SetParentWidget**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase) | **부모 UI 위젯을 설정할 수 있어요. (부모로 설정할 UI 위젯)**      |
| [**Delete**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)          | **위젯을 제거할 수 있어요.**                            |
| [**GetTypeString**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)   | **위젯의 타입을 문자열로 얻을 수 있어요.**                    |
| [**GetType**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)         | **위젯의 타입을 Enum 형식으로 얻을 수 있어요.**               |
| [**SetDragWidget**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)   | **위젯의 DragEvent 발생 시 복사되어 보여질 widget을 세팅해요.** |
| [**SetDragOffset**](https://ditoland-utplus.gitbook.io/ditoland/api-reference/client/widgetbase)   | **위젯의 DragWidget에 적용될 Offset 이에요.**           |
