# NumberSequence

## Overview

여러 숫자 키포인트(NumberSequenceKeypoint)를 조합하여 값이 시간에 따라 자연스럽게 변화하는 시퀀스를 정의합니다.

각 키포인트는 특정 시점에서의 숫자 값을 지정하며, 이 값들이 순차적으로 연결되어 부드러운 수치 변화 효과를 생성합니다. 이러한 구조는 파티클 크기, 투명도, 강도 등 시간에 따른 수치 변화를 표현해야 하는 다양한 요소에서 공통적으로 활용됩니다.

## Constructors

### new

전달된 숫자 값을 사용하여 NumberSequence를 생성합니다. 시퀀스의 시작 지점과 종료 지점 모두에 동일한 값이 적용되며, 전체 구간에서 변화 없이 일정한 수치를 유지합니다.

#### Parameters

| `number` InValue | NumberSequence의 모든 지점에 적용될 단일 숫자 값입니다. 이 값은 시작부터 끝까지 동일하게 유지됩니다. |
| ---------------- | ---------------------------------------------------------------- |

#### Return

| `NumberSequence` | 전달된 숫자 값이 설정된 새로운 NumberSequence를 반환합니다. |
| ---------------- | ---------------------------------------- |

#### Code Samples

```lua
local NumSequence = NumberSequence.new(5)
```

### new

시작 지점에 n0 값, 종료 지점에 n1 값을 배치한 NumberSequence를 생성합니다. 시퀀스는 시작에서 끝까지 값이 자연스럽게 보간되어 변화합니다.

#### Parameters

| `number` n0 | 시퀀스의 시작 지점에 적용될 값입니다. 시간 값 0에 해당하는 위치의 숫자를 정의합니다. |
| ----------- | ------------------------------------------------- |
| `number` n1 | 시퀀스의 종료 지점에 적용될 값입니다. 시간 값 1에 해당하는 위치의 숫자를 정의합니다. |

#### Return

| `NumberSequence` | 전달된 숫자 값이 설정된 새로운 NumberSequence를 반환합니다. |
| ---------------- | ---------------------------------------- |

#### Code Samples

```lua
local NumSequence = NumberSequence.new(1, 10)
```

### new

NumberSequenceKeypoint로 구성된 배열을 받아 NumberSequence를 생성합니다.&#x20;

각 키포인트는 시간 값이 증가하는 방향으로 정렬되어 있어야 하며, 순서가 뒤섞여 있어서는 안 됩니다. 시퀀스를 구성하려면 최소 두 개의 키포인트가 필요하고, 시작을 나타내는 키포인트는 반드시 0, 종료를 나타내는 키포인트는 반드시 1의 시간 값을 가져야 합니다.

#### Parameters

| `array` InArrayValue | NumberSequenceKeypoint로 구성된 배열입니다. 각 키포인트는 ColorSequence 내에서의 시간 값과 해당 시점의 숫자 값을 정의합니다. 키포인트들은 시간 값이 증가하는 순서로 정렬되어 있어야 하며, 최소 두 개 이상이 필요합니다. 또한 첫 번째 키포인트의 시간 값은 0, 마지막 키포인트의 시간 값은 1이어야 합니다. |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

#### Return

| `NumberSequence` | 전달된 숫자 값이 설정된 새로운 NumberSequence를 반환합니다. |
| ---------------- | ---------------------------------------- |

#### Code Samples

```lua
local Time1 = 0
local Time2 = 1

local KeyPoints = 
{
    NumberSequenceKeyPoint.new(Time1, 0), 
    NumberSequenceKeyPoint.new(Time2, 10) 
}
local NumSequence = NumberSequence.new(KeyPoints)
```

## Properties

### Keypoints

NumberSequenceKeypoint로 구성된 배열을 반환합니다.

#### Code Samples

```lua
local NumSequence = NumberSequence.new(1, 10)
local KeyPoints = NumSequence.Keypoints

for _, keypoint in ipairs(KeyPoints) do
    print(keypoint.Time, keypoint.Value)
end
```

## Methods
