Enum
노드에 쓴 선택지에서 하나를 고르고, 그 이름을 Name, 번호를 IndexOut으로 내보냅니다. StringArray가 ‘번호→문자열’ 변환기인 것에 비해, 이쪽은 선택 상태를 가지고, 드롭다운과 트리거로 조작하는 노드입니다. 번호에 이름을 붙여 프리셋 전환 창구로 사용할 수 있습니다.
선택지 편집
- 노드 위의 텍스트란에 한 줄에 한 항목으로 씁니다. 각 행의 앞뒤 공백은 제거되고, 빈 행은 항목이 되지 않습니다
- 위쪽 드롭다운에 항목이 나열되고, 고르면 그 항목이 선택됩니다
- Loop 토글(기본값 ON)이 아래에 있습니다
- 선택지・현재의 선택・Loop는 프로젝트에 저장됩니다
고르는 방법
- Next / Prev — 현재의 위치를 ±1 합니다
- Reset — 0번으로 되돌립니다
- Index — 번호를 직접 지정합니다. 연결은 1개까지. 연결되어 있는 동안은 외부에서 온 값이 우선되며, 드롭다운의 조작과 Next / Prev / Reset은 무시됩니다(드롭다운은 현재의 선택으로 되돌아갑니다)
- 범위를 벗어난 번호는 Loop의 상태에 따라 거동이 달라집니다. ON이면 요소 수의 나머지로 랩(음수 값은 끝쪽으로 돌아갑니다), OFF면 0~요소 수-1로 클램프. Next / Prev도 같은 규칙으로 동작하므로, Loop OFF에서는 끝에서 멈춥니다
출력
- Name — 선택 중인 항목의 문자열
- IndexOut — 선택 중인 번호(0부터 시작)
- Count — 항목 수
- Changed — 선택이 실제로 바뀐 순간에만 발화하는 트리거. 선택지 텍스트를 고쳐 쓰거나 프로젝트를 불러올 때는 발화하지 않으며, 같은 번호를 다시 골랐을 때도 발화하지 않습니다
Name / IndexOut / Count는 값이 바뀌었을 때만 흘러갑니다.
선택지가 비어 있을 때
항목이 하나도 없는 상태에서는 드롭다운도 Index도 Next / Prev / Reset도 아무것도 일으키지 않습니다. Name은 빈 문자열, IndexOut은 0, Count는 0입니다.
입력 포트
| Port ID | 타입 |
|---|---|
Index | int |
Next | trigger |
Prev | trigger |
Reset | trigger |
출력 포트
| Port ID | 타입 |
|---|---|
Name | string |
IndexOut | int |
Count | int |
Changed | trigger |
스크립트에서 설정할 수 있는 멤버
| 경로 | 타입 |
|---|---|
indexInput | int |
entriesText | string |
currentLoop | bool |
Synapse Apps (스크립팅)
await synapse.modules.create({ type: "Enum" }) 