msw-ai-tf/maplestory-worlds-creator-docs huggingface dataset:
HitEvent

엔티티가 피격되었을 때 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * HitComponent (Space;Server,Client)



# Properties

[{"index":"Vector2 AttackCenter","0":"공격이 이루어진 중점입니다."}]

[{"index":"Entity AttackerEntity","0":"공격자 엔티티입니다. nil일 수도 있습니다."}]

[{"index":"List Damages","0":"분할 표시될 대미지 리스트입니다."}]

[{"index":"any Extra","0":"기타 공격 정보입니다."}]

[{"index":"HitFeedbackAction FeedbackAction (Deprecated)","0":"더는 사용하지 않는 프로퍼티입니다."}]

[{"index":"boolean IsCritical","0":"해당 공격이 크리티컬인지 확인합니다."}]

[{"index":"integer TotalDamage","0":"총 대미지입니다."}]

# Constructors

[{"index":"HitEvent(Vector2 attackCenter = Vector2(0, 0), Entity attackerEntity = nil, List damages = nil, any extra = nil, HitFeedbackAction feedbackAction = HitFeedbackAction.Default, boolean isCritical = false, integer totalDamage = 0)","0":"지정한 값으로 HitEvent를 초기화합니다."}]
Item

월드 내의 아이템을 나타냅니다. 아이템의 구성 정보를 포함합니다.

# Properties

[{"index":"string Description (ReadOnly)","0":"UserItemDataSet 테이블에 정의된 아이템의 설명입니다."}]

[{"index":"string GUID (ReadOnly)","0":"아이템의 GUID입니다."}]

[{"index":"string IconRUID (ReadOnly)","0":"UserItemDataSet 테이블에 정의된 아이템의 IconRUID입니다."}]

[{"index":"int32 ItemCount","0":"아이템의 수량입니다."}]

[{"index":"string ItemDataTableName (ReadOnly)","0":"UserItemDataSet 테이블에 정의된 아이템의 이름입니다."}]

[{"index":"UserDataRow ItemTableData (ReadOnly)","0":"UserItemDataSet 테이블에 정의된 아이템 데이터입니다."}]

[{"index":"string ItemTypeName (ReadOnly)","0":"아이템의 스크립트 타입명입니다."}]

[{"index":"string Owner (ReadOnly)","0":"아이템의 소유자입니다. UserID 또는 InventoryComponentID를 반환합니다."}]

# Methods

[{"index":"int32 GetSize()","0":"아이템 데이터의 크기를 반환합니다."}]
os

# Functions

[{"index":"any date(string format, integer time) (Static)","0":"형식 문자열에 따라서 날짜와 시간을 담은 문자열 또는 테이블을 반환합니다."}]

[{"index":"any date(string format) (Static)","0":"형식 문자열에 따라서 날짜와 시간을 담은 문자열 또는 테이블을 반환합니다."}]

[{"index":"any date() (Static)","0":"날짜와 시간을 담은 문자열을 반환합니다."}]

[{"index":"number clock() (Static)","0":"프로그램이 사용한 CPU 시간의 초 단위 근삿값을 반환합니다."}]

[{"index":"integer time(table table) (Static)","0":"시간을 반환합니다. 테이블에는 year, month, day 필드가 반드시 있어야 합니다. hour, min, sec, isdst 필드를 포함할 수 있습니다. 그 외 다른 필드는 무시됩니다."}]

[{"index":"integer time() (Static)","0":"현재 시각을 반환합니다."}]

[{"index":"number difftime(integer t2, integer t1) (Static)","0":"시간 t1부터 시간 t2까지의 차이를 초 단위로 반환합니다."}]
TextVerticalAlignmentOption

세로 방향 텍스트를 정렬하는 방식입니다.

# Members

[{"이름":"Top","값":"256","설명":"텍스트를 영역의 상단에 정렬합니다."},{"이름":"Middle","값":"512","설명":"텍스트를 영역의 중앙에 정렬합니다."},{"이름":"Bottom","값":"1024","설명":"텍스트를 영역의 하단에 정렬합니다."},{"이름":"Baseline","값":"2048","설명":"글자의 기준선을 기준으로 첫 줄이 영역 중앙에 오도록 정렬합니다."},{"이름":"Geometry","값":"4096","설명":"전체 텍스트의 중심이 영역 중앙에 오도록 정렬합니다."},{"이름":"Capline","값":"8192","설명":"첫 번째 줄의 중앙을 기준으로 글자가 영역의 중앙에 오도록 정렬합니다."}]

# Methods

[{"index":"TextVerticalAlignmentOption CastFrom(number value) (Static)","0":"숫자를 해당 타입으로 변환합니다."}]

[{"index":"TextVerticalAlignmentOption CastFrom(string value) (Static)","0":"문자열을 해당 타입으로 변환합니다."}]
Environment

실행 환경 정보를 제공합니다.

# Properties

[{"index":"string WorldId (ReadOnly)","0":"현재 월드의 Id입니다."}]

# Methods

[{"index":"string GetApplicationVersion() (ClientOnly)","0":"현재 실행 중인 어플리케이션의 버전 정보를 반환합니다."}]

[{"index":"boolean IsMakerEdit()","0":"현재 환경이 제작 중인 월드이고, 편집 상태인지 여부를 반환합니다."}]

[{"index":"boolean IsMakerPlay()","0":"현재 환경이 제작 중인 월드이고, 플레이 상태인지 여부를 반환합니다."}]

[{"index":"boolean IsMobilePlatform()","0":"현재 플랫폼이 모바일 플랫폼인지 여부를 반환합니다."}]

[{"index":"boolean IsPCPlatform()","0":"현재 플랫폼이 PC 플랫폼인지 여부를 반환합니다."}]

[{"index":"boolean IsPlay()","0":"플레이 상태인지 여부를 반환합니다."}]

[{"index":"boolean IsPublishedPlay()","0":"현재 환경이 출시된 환경이고, 플레이 상태인지 여부를 반환합니다."}]
WheelJoint

한 점에서 Entity를 연결하고 연결된 Entity가 해당 점을 기준으로 회전하도록 합니다. 마치 연결된 Entity가 바퀴처럼 동작하게 됩니다. WheelJointComponent의 Joints에 추가해 사용합니다.

# Properties

[{"index":"boolean CollideConnected","0":"Joint로 연결된 두 Entity가 서로 충돌할지 여부를 설정합니다."}]

[{"index":"Vector2 LocalAnchorA","0":"JointComponent를 가진 Entity의 Anchor를 설정합니다. Entity 기준 상대 좌표를 사용합니다."}]

[{"index":"Vector2 LocalAnchorB","0":"Joint로 연결된 Entity의 Anchor를 설정합니다. Entity 기준 상대 좌표를 사용합니다."}]

[{"index":"float MaxMotorTorque","0":"목표 모터 속도에 도달하기 위한 joint의 모터에 적용할 수 있는 최대 힘을 설정합니다."}]

[{"index":"boolean MotorEnable","0":"Joint의 모터 기능을 사용할지 여부를 설정합니다. true일 경우 MotorSpeed 값에 영향을 받습니다."}]

[{"index":"float MotorSpeed","0":"Joint의 목표 모터 속도를 설정합니다."}]

[{"index":"EntityRef TargetEntityRef","0":"Joint로 연결할 Entity를 설정합니다."}]

# Constructors

[]

[]
FontStyleType

폰트를 다양하게 표현합니다.

# Members

[{"이름":"Normal","값":"0","설명":"텍스트를 기본 스타일로 표시합니다."},{"이름":"Bold","값":"1","설명":"굵게 표시합니다."},{"이름":"Italic","값":"2","설명":"기울어진 텍스트로 표시합니다."},{"이름":"Underline","값":"4","설명":"텍스트에 밑줄을 긋습니다."},{"이름":"LowerCase","값":"8","설명":"소문자로 표시합니다."},{"이름":"UpperCase","값":"16","설명":"대문자로 표시합니다."},{"이름":"SmallCaps","값":"32","설명":"모두 대문자로 표시합니다. 대문자로 작성된 경우 소문자였던 문자에 비해 상대적으로 더 크게 표시됩니다."},{"이름":"Strikethrough","값":"64","설명":"취소선을 표시합니다."}]

# Methods

[{"index":"FontStyleType CastFrom(number value) (Static)","0":"숫자를 해당 타입으로 변환합니다."}]

[{"index":"FontStyleType CastFrom(string value) (Static)","0":"문자열을 해당 타입으로 변환합니다."}]
[MCI22] 개발자 컨퍼런스

MCI22 개발자 컨퍼런스 영상에서 메이플스토리 월드의 과거, 현재, 미래를 확인해보세요.

$$youtube /M2uiPXv50hM?t=1821 $$

[30:21](https://www.youtube.com/watch?v=M2uiPXv50hM&t=1821s) MSW의 새로운 시도 소개 \- MSW개발실 퓨처유닛 성율 [53:21](https://www.youtube.com/watch?v=M2uiPXv50hM&t=3201s) 글로벌 IP로 MSW 게임 만들기 \- MSW개발실 게임제작유닛 윤성재 [1:13:57](https://www.youtube.com/watch?v=M2uiPXv50hM&t=4437s) 유저와 함께 만들어가는 MSW \- 인텔리전스랩스 게임UX분석팀 [1:26:16](https://www.youtube.com/watch?v=M2uiPXv50hM&t=5176s) 가능성을 현실로! MSU EDU의 도전 \- N플랫폼사업실 플랫폼제휴사업파트 이주영
SkeletonAnimationTimelineEvent

스켈레톤 애니메이션이 재생 중일 때, 애니메이션 타임라인에 등록된 이벤트가 감지되면 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * SkeletonGUIRendererComponent (Space;Client)
  * SkeletonRendererComponent (Space;Client)



# Properties

[{"index":"SkeletonAnimationClip AnimationClip","0":"애니메이션 정보입니다."}]

[{"index":"string AudioPath","0":"타임라인 이벤트의 AudioPath 데이터입니다."}]

[{"index":"float Balance","0":"타임라인 이벤트의 Balance 데이터입니다."}]

[{"index":"string EventName","0":"타임라인 이벤트의 이름입니다."}]

[{"index":"float Float","0":"타임라인 이벤트의 Float 데이터입니다."}]

[{"index":"int32 Int","0":"타임라인 이벤트의 Int 데이터입니다."}]

[{"index":"string String","0":"타임라인 이벤트의 String 데이터입니다."}]

[{"index":"float Time","0":"타임라인 이벤트가 발생한 재생 시간입니다."}]

[{"index":"float Volume","0":"타임라인 이벤트의 Volume 데이터입니다."}]

# Constructors

[{"index":"SkeletonAnimationTimelineEvent()","0":"SkeletonAnimationTimelineEvent를 초기화합니다."}]
PulleyJoint

두 Entity의 Anchor와 GroundAnchor의 값을 설정해 선을 만들고, 그 선들의 총 합이 일정하게 유지되도록 합니다. 마치 두 Entity가 도르래에 연결된 것처럼 동작하게 됩니다. PullyJointComponent의 Joints에 추가해 사용합니다.

# Properties

[{"index":"boolean CollideConnected","0":"Joint로 연결된 두 Entity가 서로 충돌할지 여부를 설정합니다."}]

[{"index":"Vector2 GroundAnchorA","0":"JointComponent를 가진 Entity의 GroundAnchor를 설정합니다. Entity 기준 상대 좌표를 사용합니다."}]

[{"index":"Vector2 GroundAnchorB","0":"Joint로 연결된 Entity의 GroundAnchor를 설정합니다. Entity 기준 상대 좌표를 사용합니다."}]

[{"index":"Vector2 LocalAnchorA","0":"JointComponent를 가진 Entity의 Anchor를 설정합니다. Entity 기준 상대 좌표를 사용합니다."}]

[{"index":"Vector2 LocalAnchorB","0":"Joint로 연결된 Entity의 Anchor를 설정합니다. Entity 기준 상대 좌표를 사용합니다."}]

[{"index":"float Ratio","0":"PulleyJoint를 이루는 양쪽 가상의 줄의 구속력 비율을 설정합니다."}]

[{"index":"EntityRef TargetEntityRef","0":"Joint로 연결할 Entity를 설정합니다."}]

# Constructors

[]

[]
BodyActionStateChangeEvent

BodyAction의 상태가 변경되었을 때 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * AvatarStateAnimationComponent (Space;Server,Client)



# Properties

[{"index":"MapleAvatarBodyActionState ActionState","0":"변경된 상태입니다."}]

[{"index":"int32 endFrameIndex","0":"재생되는 애니메이션의 끝 프레임을 지정합니다. 애니메이션의 총 프레임 개수를 넘을 수 없습니다."}]

[{"index":"boolean needResetAction","0":"대상 아바타가 이미 동일한 상태를 재생 중일 때 명시적으로 처음부터 재생하도록 합니다."}]

[{"index":"float playRate","0":"아바타 애니메이션의 재생 속도입니다."}]

[{"index":"int32 startFrameIndex","0":"재생되는 애니메이션의 시작 프레임을 지정합니다."}]

# Constructors

[{"index":"BodyActionStateChangeEvent(boolean needResetAction = false, MapleAvatarBodyActionState actionState = MapleAvatarBodyActionState.Invalid, int32 startFrameIndex = 0, int32 endFrameIndex = 2147483647, float playRate = 1)","0":"지정된 동일 상태 재생 여부, BodyAction 상태, 시작, 종료 프레임, 재생 속도로 초기화 합니다."}]
AvatarBodyActionSelectorComponent

아바타의 몸통 Action을 선택해 적용시키는 컴포넌트입니다.

# Properties

[{"index":"MapleAvatarBodyActionState ActionState","0":"현재 Action 상태입니다."}]

[{"index":"ReadOnlyDictionary> StateActionDic (ReadOnly) (HideFromInspector)","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

##### inherited from Component:

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

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

# Events

[{"index":"ActionStateChangedEvent","0":"액션 상태가 변경될 때 발생하는 이벤트입니다."}]
AvatarFaceActionSelectorComponent

아바타의 얼굴 Action을 선택해 적용시키는 컴포넌트입니다.

# Properties

[{"index":"MapleAvatarFaceActionState ActionState","0":"현재 Action 상태입니다."}]

[{"index":"float BlinkInterval","0":"눈 깜빡임의 시간 간격으로, 초 단위를 사용합니다."}]

[{"index":"ReadOnlyDictionary> StateActionDic (ReadOnly) (HideFromInspector)","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

##### inherited from Component:

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

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

RigidBodyComponent가 발판에 충돌했을 때 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * RigidbodyComponent (Space;Server,Client)



# Properties

[{"index":"int32 FootholdId (ReadOnly)","0":"발판의 Id입니다."}]

[{"index":"Vector2 FootholdNormal (ReadOnly)","0":"발판의 법선 방향입니다."}]

[{"index":"Vector2 ImpactDir (ReadOnly)","0":"충돌 방향을 나타냅니다. 충돌 시의 엔티티 이동 방향입니다."}]

[{"index":"float ImpactForce (ReadOnly)","0":"충돌 시의 엔티티의 이동 속력입니다."}]

[{"index":"Vector2 ReflectDir (ReadOnly)","0":"충돌 방향을 발판에 반사시킨 방향입니다."}]

##### inherited from RigidbodyEvent:

[{"index":"RigidbodyComponent Rigidbody (ReadOnly)","0":"발생된 엔티티의 RigidbodyComponent입니다."}]

# Constructors

[{"index":"FootholdCollisionEvent(RigidbodyComponent rigidbody = nil, Vector2 impactDir = Vector2(0, 0), float impactForce = 0, Vector2 footholdNormal = Vector2(0, 0), Vector2 reflectDir = Vector2(0, 0), int32 footholdId = 0)","0":"지정한 값으로 FootholdCollisionEvent를 초기화합니다."}]
RawImageGUIRendererComponent

RawImage를 UI에 출력하는 기능을 제공합니다.

# Properties

[{"index":"string MaterialId (Sync)","0":"렌더러에 적용할 머티리얼 Id를 지정합니다."}]

##### 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":"void ChangeMaterial(string materialId)","0":"렌더러에 적용할 머티리얼을 교체합니다."}]

[{"index":"void SetRawImage(RawImage rawImage) (ClientOnly)","0":"RawImage를 그립니다. nil을 전달하면 아무것도 그리지 않습니다."}]

##### inherited from Component:

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

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

Avatar가 사다리, 로프를 타기 전에 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * RigidbodyComponent (Space;Client)



# Properties

[{"index":"Entity AttachedEntity","0":"Avatar가 탈 사다리, 로프 엔티티입니다."}]

# Constructors

[{"index":"RigidbodyClimbableAttachStartEvent(Entity attachedEntity = nil)","0":"지정한 값으로 RigidbodyClimbableAttachStartEvent를 초기화합니다."}]

# Examples

플레이어가 사다리에 붙을 때 플레이어 엔티티의 자식 오브젝트들 중 `SpriteRendererComponent`를 가지고 있다면 해당 컴포넌트의 레이어도 함께 변경하는 예제입니다.
    
    
    @Component
    script ClimbableLayerSynchronizer extends Component
        @ExecSpace("ServerOnly")
        method void ChangedChildSortingLayer(Entity attachedEntity)
        for i, j in ipairs(self.Entity:GetChildComponentsByTypeName("SpriteRendererComponent"))  do
        	j.Entity.SpriteRendererComponent.SortingLayer =     attachedEntity.ClimbableSpriteRendererComponent.SortingLayer
        end
        end
    
        @EventSender("Self")
        handler HandleRigidbodyClimbableAttachStartEvent(RigidbodyClimbableAttachStartEvent event)
        -- Parameters
        local AttachedEntity = event.AttachedEntity
        --------------------------------------------------------
    
        self:ChangeChildSortingLayer(AttachedEntity)
        end
    end
    

# SeeAlso

  * ClimbableSpriteRendererComponent
  * SpriteRendererComponent
SyncDictionary<K,V>

키와 값으로 데이터를 저장하는 해시 테이블입니다. 데이터 추가, 제거, 검색 기능을 제공하고 특히 검색 시 성능이 뛰어납니다. 키들은 각각 고유한 값을 가져야 하며, nil을 허용하지 않습니다. 해시 테이블에 추가할 수 있는 키의 타입을 K, 값의 타입을 V으로 표현합니다.

# Properties

[{"index":"number Count (ReadOnly)","0":"Dictionary에 포함된 키와 값 쌍의 수를 가져옵니다."}]

[{"index":"table Keys (ReadOnly)","0":"Dictionary의 키를 포함하는 table을 가져옵니다."}]

[{"index":"table Values (ReadOnly)","0":"Dictionary의 값을 포함하는 table을 가져옵니다."}]

# Methods

[{"index":"boolean ContainsKey(K key)","0":"Dictioanry에 지정된 키 포함하는지 확인합니다."}]

[{"index":"table ToTable()","0":"Dictionary에 포함된 키와 값을 가진 table을 생성합니다."}]

[{"index":"boolean, V TryGetValue(K key)","0":"지정한 키와 연결된 값을 가져옵니다."}]

[{"index":"void Add(K key, V value)","0":"지정한 키와 값을 Dictionary에 추가합니다."}]

[{"index":"void Clear()","0":"Dictionary에서 모든 키와 값을 제거합니다."}]

[{"index":"void Remove(K key)","0":"Dictionary에서 지정한 키와 연결된 값을 제거합니다."}]
CameraBlendType

카메라 전환 연출 방법입니다.

# Members

[{"이름":"Cut","값":"0","설명":"카메라를 즉시 전환합니다."},{"이름":"EaseInOut","값":"1","설명":"S자 곡선 커브에 따라 카메라를 부드럽게 전환합니다."},{"이름":"EaseIn","값":"2","설명":"선형적인 속도로 카메라 전환을 시작해 속도를 늦추며 중지합니다."},{"이름":"EaseOut","값":"3","설명":"느린 속도로 카메라 전환을 시작해 점차 속도를 빠르게 높여 전환을 중지합니다."},{"이름":"HardIn","값":"4","설명":"느린 속도로 시작해 점차 속도를 높이며 전환을 중지합니다."},{"이름":"HardOut","값":"5","설명":"빠른 속도로 시작해 점차 속도를 줄이며 전환을 중지합니다."},{"이름":"Linear","값":"6","설명":"선형 속도로 카메라를 전환합니다."}]

# Methods

[{"index":"CameraBlendType CastFrom(number value) (Static)","0":"숫자를 해당 타입으로 변환합니다."}]

[{"index":"CameraBlendType CastFrom(string value) (Static)","0":"문자열을 해당 타입으로 변환합니다."}]
TextAlignmentType

텍스트 정렬 옵션을 나타냅니다.

# Members

[{"이름":"UpperLeft","값":"0","설명":"좌측 상단을 기준으로 정렬합니다."},{"이름":"UpperCenter","값":"1","설명":"상단 중앙을 기준으로 정렬합니다."},{"이름":"UpperRight","값":"2","설명":"우측 상단을 기준으로 텍스트를 정렬합니다."},{"이름":"MiddleLeft","값":"3","설명":"좌측 중앙을 기준으로 정렬합니다."},{"이름":"MiddleCenter","값":"4","설명":"정중앙을 기준으로 정렬합니다."},{"이름":"MiddleRight","값":"5","설명":"우측 중앙을 기준으로 정렬합니다."},{"이름":"LowerLeft","값":"6","설명":"좌측 하단을 기준으로 정렬합니다."},{"이름":"LowerCenter","값":"7","설명":"하단 중앙을 기준으로 정렬합니다."},{"이름":"LowerRight","값":"8","설명":"우측 하단을 기준으로 정렬합니다."}]

# Methods

[{"index":"TextAlignmentType CastFrom(number value) (Static)","0":"숫자를 해당 타입으로 변환합니다."}]

[{"index":"TextAlignmentType CastFrom(string value) (Static)","0":"문자열을 해당 타입으로 변환합니다."}]
NexonOtpStateType

유저의 2차 인증 사용 여부를 나타냅니다. 2차 인증은 계정 종류마다 다른 방식으로 적용됩니다.\n한국 계정은 넥슨 OTP를 2차 인증 수단으로 사용합니다.\n글로벌 계정은 SMS, Google Authenticator를 2차 인증 수단으로 사용합니다.

# Members

[{"이름":"Unknown","값":"-1","설명":"시스템 장애로 2차 인증 사용 여부 값을 받을 수 없습니다."},{"이름":"Inactive","값":"0","설명":"2차 인증을 사용하지 않는 계정입니다. 한국 계정의 경우 넥슨 OTP를 사용하지 않는 계정을 의미합니다. 글로벌 계정의 경우 2차 인증 수단 모드를 사용하지 않는 계정을 의미합니다."},{"이름":"Active","값":"1","설명":"2차 인증을 마친 경우 반환되는 값입니다. 한국 계정의 경우 넥슨 OTP를 사용합니다. 글로벌 계정의 경우 SMS 또는 Google Authenticator 인증을 사용합니다."}]

# Methods

[{"index":"NexonOtpStateType CastFrom(number value) (Static)","0":"숫자를 해당 타입으로 변환합니다."}]

[{"index":"NexonOtpStateType CastFrom(string value) (Static)","0":"문자열을 해당 타입으로 변환합니다."}]
UIAreaParticleType

UIAreaParticleComponent에서 사용하는 파티클 프리셋 타입입니다.

# Members

[{"이름":"nan","값":"0","설명":"기본값입니다. 사용하는 파티클이 없습니다."},{"이름":"FogCalm","값":"1","설명":"안개 구름 파티클입니다."},{"이름":"FogHeavy","값":"2","설명":"하강하는 안개구름 파티클입니다."},{"이름":"FogLively","값":"3","설명":"피어오르는 안개구름 파티클입니다."},{"이름":"CalmStarField","값":"4","설명":"피어오르는 별 무리 파티클입니다."},{"이름":"StarFieldSimple","값":"5","설명":"반짝이는 별 무리 파티클입니다."},{"이름":"StarFog","값":"6","설명":"별 무리와 성운이 제자리에서 움직이는 파티클입니다."},{"이름":"StarFogFlow","값":"7","설명":"피어오르는 별 무리와 성운 파티클입니다."}]

# Methods

[{"index":"UIAreaParticleType CastFrom(number value) (Static)","0":"숫자를 해당 타입으로 변환합니다."}]

[{"index":"UIAreaParticleType CastFrom(string value) (Static)","0":"문자열을 해당 타입으로 변환합니다."}]
Logic

모든 로직의 부모 로직입니다. 로직의 기본 기능들을 제공합니다.

# Methods

[{"index":"EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)","0":"이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다."}]

[{"index":"EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)","0":"이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다."}]

[{"index":"boolean DisconnectEvent(string key, EventHandlerBase eventHandler)","0":"타입의 이름이 key인 이벤트와 핸들러와의 연결을 끊습니다."}]

[{"index":"boolean DisconnectEvent(Type eventType, EventHandlerBase eventHandler)","0":"타입이 eventType인 이벤트와 핸들러와의 연결을 끊습니다."}]

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

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

[{"index":"void SendEvent(EventType sendEvent)","0":"이벤트를 발생시킵니다."}]
RegexMatch

정규식으로 찾은 단일 일치 항목의 결과입니다.

# Properties

[{"index":"int32 Index (ReadOnly)","0":"원 문자열에서 캡처된 부분 문자열의 첫 번째 위치 인덱스를 가져옵니다."}]

[{"index":"int32 Length (ReadOnly)","0":"캡처된 부분 문자열의 길이를 가져옵니다."}]

[{"index":"string Name (ReadOnly)","0":"그룹의 이름입니다."}]

[{"index":"boolean Success (ReadOnly)","0":"일치 작업의 성공 여부를 반환합니다."}]

[{"index":"string Text (ReadOnly)","0":"캡처된 부분 문자열을 가져옵니다."}]

# Methods

[{"index":"table GetCaptures()","0":"캡처링 그룹을 사용해 일치시킨 모든 캡처를 가져옵니다."}]

[{"index":"table GetGroups()","0":"정규식으로 일치시킨 모든 그룹을 가져옵니다."}]

[{"index":"RegexMatch NextMatch()","0":"마지막으로 일치한 항목 다음 문자에서 시작해 다음 일치 항목에 대한 결과와 새로운 RegexMatch를 가져옵니다. 실패 시 nil을 반환합니다."}]

[{"index":"string Result(string replacement)","0":"단일 일치 항목을 지정된 대체 패턴으로 변경해 반환합니다."}]

# SeeAlso

  * [정규식](/docs?postId=1041)
  * [정규식 언어](/docs?postId=1043)
SortingLayerChangedEvent

컴포넌트의 SortingLayer가 변경되었을 때 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * AreaParticleComponent (Space;Server,Client)
  * AvatarRendererComponent (Space;Server,Client)
  * BasicParticleComponent (Space;Server,Client)
  * ButtonComponent (Space;Server,Client)
  * ClimbableSpriteRendererComponent (Space;Server,Client)
  * LineRendererComponent (Space;Server,Client)
  * PixelGUIRendererComponent (Space;Server,Client)
  * PixelRendererComponent (Space;Server,Client)
  * PolygonRendererComponent (Space;Server,Client)
  * RawImageRendererComponent (Space;Server,Client)
  * ScrollLayoutGroupComponent (Space;Server,Client)
  * SkeletonRendererComponent (Space;Server,Client)
  * SliderComponent (Space;Server,Client)
  * SpriteGUIRendererComponent (Space;Server,Client)
  * SpriteParticleComponent (Space;Server,Client)
  * SpriteRendererComponent (Space;Server,Client)
  * TextComponent (Space;Server,Client)
  * TextGUIRendererComponent (Space;Server,Client)
  * TextGUIRendererInputComponent (Space;Server,Client)
  * TextInputComponent (Space;Server,Client)
  * TextRendererComponent (Space;Server,Client)
  * WebSpriteComponent (Space;Server,Client)
  * WebViewComponent (Space;Server,Client)
  * YoutubePlayerGUIComponent (Space;Server,Client)
  * YoutubePlayerWorldComponent (Space;Server,Client)



# Properties

[{"index":"string SortingLayer","0":"변경된 SortingLayer입니다."}]

# Constructors

[{"index":"SortingLayerChangedEvent(string sortingLayer = nil)","0":"지정한 SortingLayerChangedEvent를 초기화합니다."}]
CompositeNode

여러 개의 자식 노드를 가질 수 있는 노드입니다. 자식 노드들의 실행을 제어합니다.

# Properties

##### inherited from BTNode:

[{"index":"boolean ExclusiveExecutionWhenRunning (Deprecated)","0":"더는 사용하지 않는 프로퍼티입니다."}]

[{"index":"func InitFunction","0":"초기화 시점에 호출되는 함수입니다."}]

[{"index":"string Name","0":"이 노드의 이름입니다."}]

[{"index":"AIComponent ParentAI (ReadOnly) (HideFromInspector)","0":"이 노드를 가진 AIComponent입니다."}]

# Methods

[{"index":"void AttachChild(BTNode node)","0":"node를 자식 노드로 추가합니다."}]

[{"index":"void AttachChildAt(BTNode node, int32 index)","0":"index 위치에 node를 자식 노드로 추가합니다. index는 1부터 시작합니다."}]

[{"index":"boolean DetachChild(BTNode node)","0":"node를 자식 노드에서 제거합니다."}]

[{"index":"boolean DetachChild(string nodeName)","0":"이름이 nodeName인 노드를 찾아 자식 노드에서 제거합니다."}]

[{"index":"void DetachChildAt(int32 index)","0":"index 위치에 있는 노드를 자식 노드에서 제거합니다. index는 1부터 시작합니다."}]

##### inherited from BTNode:

[{"index":"BehaviourTreeStatus Behave(float deltaTime)","0":"노드를 실행합니다. deltaTime은 이전 프레임과 현재 프레임 사이에 흐른 시간입니다. 단위는 초입니다."}]
ResourceUploadError

리소스 업로드 성공과 실패 결과를 나타냅니다.

# Members

[{"이름":"Success","값":"0","설명":"리소스 업로드를 완료했습니다."},{"이름":"InternalError","값":"1","설명":"내부 오류로 인해 리소스 업로드에 실패했습니다."},{"이름":"ValidationFailed","값":"2","설명":"제작자의 요청 거부, 요청 확인 중 오류 발생으로 업로드에 실패했습니다."},{"이름":"AlreadyInProgress","값":"3","설명":"이전에 요청한 업로드가 완료되지 않았습니다. 한 번에 하나의 요청만 수행합니다."},{"이름":"InvalidContent","값":"4","설명":"매개 변수로 받은 리소스가 nil입니다."},{"이름":"HarmfulContent","값":"412","설명":"유해 리소스로 판단되어 업로드에 실패했습니다."},{"이름":"TooLargeContent","값":"413","설명":"기준 크기를 초과한 리소스로 업로드에 실패했습니다."},{"이름":"TooManyRequests","값":"429","설명":"너무 잦은 요청으로 업로드에 실패했습니다."}]

# Methods

[{"index":"ResourceUploadError CastFrom(number value) (Static)","0":"숫자를 해당 타입으로 변환합니다."}]

[{"index":"ResourceUploadError CastFrom(string value) (Static)","0":"문자열을 해당 타입으로 변환합니다."}]
SkeletonAnimationClip

SkeletonRendererComponent 또는 SkeletonGUIRendererComponent에서 재생되는 애니메이션의 속성을 나타냅니다.

# Properties

[{"index":"float Alpha","0":"다른 트랙과 섞이는 비율을 나타냅니다. 기본값은 1입니다."}]

[{"index":"string AnimationName","0":"애니메이션 이름입니다."}]

[{"index":"float Delay","0":"애니메이션 재생을 시작하기까지 대기하는 시간입니다. 시간은 초 단위입니다.* Delay가 0이면 이전 애니메이션이 끝나고 재생이 시작됩니다.* Delay가 0보다 크면 이전 애니메이션이 시작되고 Delay 초 후에 재생이 시작됩니다.* Delay가 0보다 작으면 이전 애니메이션이 끝나기 Delay 초 전에 재생이 시작됩니다."}]

[{"index":"boolean Loop","0":"반복 재생 여부입니다."}]

[{"index":"float MixDuration","0":"애니메이션이 전환될 때 이전 애니메이션과 섞이는 시간입니다. 시간은 초 단위입니다."}]

[{"index":"float TimeScale","0":"애니메이션 재생 속도입니다. 기본값은 1입니다."}]

[{"index":"int32 TrackIndex","0":"애니메이션을 재생할 트랙 번호입니다."}]

# Constructors

[{"index":"SkeletonAnimationClip()","0":"지정한 값으로 SkeletonAnimationClip을 초기화합니다."}]
Dictionary<K,V>

키와 값으로 데이터를 저장하는 해시 테이블입니다. 데이터 추가, 제거, 검색 기능을 제공하고 특히 검색 시 성능이 뛰어납니다. 키들은 각각 고유한 값을 가져야 하며, nil을 허용하지 않습니다. 해시 테이블에 추가할 수 있는 키의 타입을 K, 값의 타입을 V으로 표현합니다.

# Properties

[{"index":"number Count (ReadOnly)","0":"Dictionary에 포함된 키와 값 쌍의 수를 가져옵니다."}]

[{"index":"table Keys (ReadOnly)","0":"Dictionary의 키를 포함하는 table을 가져옵니다."}]

[{"index":"table Values (ReadOnly)","0":"Dictionary의 값을 포함하는 table을 가져옵니다."}]

# Methods

[{"index":"boolean ContainsKey(K key)","0":"Dictionary에 지정된 키 포함하는지 확인합니다."}]

[{"index":"table ToTable()","0":"Dictionary에 포함된 키와 값을 가진 table을 생성합니다."}]

[{"index":"boolean, V TryGetValue(K key)","0":"지정한 키와 연결된 값을 가져옵니다."}]

[{"index":"void Add(K key, V value)","0":"지정한 키와 값을 Dictionary에 추가합니다."}]

[{"index":"void Clear()","0":"Dictionary에서 모든 키와 값을 제거합니다."}]

[{"index":"void Remove(K key)","0":"Dictionary에서 지정한 키와 연결된 값을 제거합니다."}]

[{"index":"boolean ContainsValue(V value)","0":"Dictionary에 특정 값이 들어 있는지 여부를 확인합니다."}]
ChildAlignmentType

자식 엔티티 정렬 타입입니다.

# Members

[{"이름":"UpperLeft","값":"0","설명":"정렬 기준 위치가 부모의 왼쪽 상단입니다."},{"이름":"UpperCenter","값":"1","설명":"정렬 기준 위치가 부모의 중앙 상단입니다."},{"이름":"UpperRight","값":"2","설명":"정렬 기준 위치가 부모의 오른쪽 상단입니다."},{"이름":"MiddleLeft","값":"3","설명":"정렬 기준 위치가 부모의 왼쪽 중앙입니다."},{"이름":"MiddleCenter","값":"4","설명":"정렬 기준 위치가 부모의 중앙입니다."},{"이름":"MiddleRight","값":"5","설명":"정렬 기준 위치가 부모의 오른쪽 중앙입니다."},{"이름":"LowerLeft","값":"6","설명":"정렬 기준 위치가 부모의 왼쪽 하단입니다."},{"이름":"LowerCenter","값":"7","설명":"정렬 기준 위치가 부모의 중앙 하단입니다."},{"이름":"LowerRight","값":"8","설명":"정렬 기준 위치가 부모의 오른쪽 하단입니다."}]

# Methods

[{"index":"ChildAlignmentType CastFrom(number value) (Static)","0":"숫자를 해당 타입으로 변환합니다."}]

[{"index":"ChildAlignmentType CastFrom(string value) (Static)","0":"문자열을 해당 타입으로 변환합니다."}]