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

UI Entity에서 터치를 떼거나 커서가 나갈 때 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * UITouchReceiveComponent (Space;Client)



# Properties

[{"index":"Entity Entity","0":"이벤트가 발생한 엔티티입니다."}]

[{"index":"int32 TouchId","0":"입력 값을 나타내는 식별자입니다. 마우스 좌클릭은 -1, 우클릭은 -2, 휠 클릭은 -3입니다. 모바일 기기에서 터치는 1이고 다중 터치 시 입력 개수만큼 증가합니다."}]

[{"index":"Vector2 TouchPoint","0":"이벤트가 발생한 스크린 좌표입니다."}]

# Constructors

[{"index":"UITouchExitEvent(Entity entity = nil, int32 touchId = 0, Vector2 touchPoint = Vector2(0, 0))","0":"지정한 값으로 UITouchExitEvent를 초기화합니다."}]
SpriteAnimPlayerChangeFrameEvent

스프라이트 애니메이션의 프레임이 바뀔 때 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * ClimbableSpriteRendererComponent (Space;Client)
  * SpriteRendererComponent (Space;Client)



# Properties

[{"index":"int32 FrameIndex (ReadOnly)","0":"갱신된 프레임 번호입니다."}]

[{"index":"boolean ReversePlaying (ReadOnly)","0":"역 재생 여부를 나타냅니다."}]

[{"index":"int32 TotalFrameCount (ReadOnly)","0":"스프라이트 애니메이션을 구성하는 총 프레임 수입니다."}]

##### inherited from SpriteAnimPlayerEvent:

[{"index":"IEmbeddedSpriteAnimPlayer AnimPlayer (ReadOnly)","0":"애니메이션 플레이어입니다."}]

# Constructors

[{"index":"SpriteAnimPlayerChangeFrameEvent(IEmbeddedSpriteAnimPlayer animPlayer = nil, int32 frameIndex = -1, boolean reversePlaying = false, int32 totalFrameCount = 0)","0":"지정한 값으로 SpriteAnimPlayerChangeFrameEvent를 초기화합니다."}]
SpriteAnimPlayerEndFrameEvent

스프라이트 애니메이션이 마지막 프레임을 재생할 때 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * ClimbableSpriteRendererComponent (Space;Client)
  * SpriteRendererComponent (Space;Client)



# Properties

[{"index":"int32 FrameIndex (ReadOnly)","0":"프레임 번호입니다."}]

[{"index":"boolean ReversePlaying (ReadOnly)","0":"역 재생 여부를 나타냅니다."}]

[{"index":"int32 TotalFrameCount (ReadOnly)","0":"스프라이트 애니메이션을 구성하는 총 프레임 수입니다."}]

##### inherited from SpriteAnimPlayerEvent:

[{"index":"IEmbeddedSpriteAnimPlayer AnimPlayer (ReadOnly)","0":"애니메이션 플레이어입니다."}]

# Constructors

[{"index":"SpriteAnimPlayerEndFrameEvent(IEmbeddedSpriteAnimPlayer animPlayer = nil, int32 frameIndex = -1, boolean reversePlaying = false, int32 totalFrameCount = 0)","0":"지정한 값으로 SpriteAnimPlayerEndFrameEvent를 초기화합니다."}]
SpriteAnimPlayerStartFrameEvent

스프라이트 애니메이션이 첫번째 프레임을 재생할 때 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * ClimbableSpriteRendererComponent (Space;Client)
  * SpriteRendererComponent (Space;Client)



# Properties

[{"index":"int32 FrameIndex (ReadOnly)","0":"프레임 번호입니다."}]

[{"index":"boolean ReversePlaying (ReadOnly)","0":"역 재생 여부를 나타냅니다."}]

[{"index":"int32 TotalFrameCount (ReadOnly)","0":"스프라이트 애니메이션을 구성하는 총 프레임 수입니다."}]

##### inherited from SpriteAnimPlayerEvent:

[{"index":"IEmbeddedSpriteAnimPlayer AnimPlayer (ReadOnly)","0":"애니메이션 플레이어입니다."}]

# Constructors

[{"index":"SpriteAnimPlayerStartFrameEvent(IEmbeddedSpriteAnimPlayer animPlayer = nil, int32 frameIndex = -1, boolean reversePlaying = false, int32 totalFrameCount = 0)","0":"지정한 값으로 SpriteAnimPlayerStartFrameEvent를 초기화합니다."}]
AttachedGlobalTypeOverlayLightInfo

엔티티의 자식으로 스폰될 Global 타입의 광원 정보입니다.

# Properties

[{"index":"Color Color","0":"광원의 색상입니다."}]

[{"index":"float Intensity","0":"광원의 강도입니다."}]

[{"index":"float Lifetime","0":"광원이 표시될 시간입니다. 적혀있는 시간을 경과하면 생성되었던 광원이 자동으로 사라집니다. 단, 0 이하의 값을 입력할 경우에는 아무리 시간이 지나도 사라지지 않습니다."}]

[{"index":"Entity ParentEntity","0":"생성된 광원이 추가될 엔티티입니다."}]

# Constructors

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

[{"index":"AttachedGlobalTypeOverlayLightInfo(Entity parentEntity, float lifetime, Color color, float intensity)","0":"지정한 값으로 AttachedGlobalTypeOverlayLightInfo를 초기화합니다."}]
FillMethodType

이미지 채우기 방식입니다.

# Members

[{"이름":"Horizontal","값":"0","설명":"이미지가 가로로 채워집니다."},{"이름":"Vertical","값":"1","설명":"이미지가 세로로 채워집니다."},{"이름":"Radial90","값":"2","설명":"이미지가 한쪽 모서리를 기준으로 90도 회전해 채워집니다."},{"이름":"Radial180","값":"3","설명":"이미지가 한쪽 변을 기준으로 180도 회전해 채워집니다."},{"이름":"Radial360","값":"4","설명":"이미지가 중심을 기준으로 360도 회전해 채워집니다."}]

# Methods

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

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

배지의 정보를 나타냅니다.

# Properties

[{"index":"string Description (ReadOnly)","0":"배지의 설명입니다."}]

[{"index":"DateTime EndAcquisitionPeriod (ReadOnly)","0":"획득 종료 일시입니다. HasAcquisitionPeriod가 true일 때만 유효한 값을 가집니다."}]

[{"index":"BadgeGrade Grade (ReadOnly)","0":"배지의 등급입니다."}]

[{"index":"boolean HasAcquisitionPeriod (ReadOnly)","0":"획득 기간이 존재하는지 확인합니다."}]

[{"index":"string Id (ReadOnly)","0":"배지의 Id입니다."}]

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

[{"index":"DateTime StartAcquisitionPeriod (ReadOnly)","0":"획득 시작 일시입니다. HasAcquisitionPeriod가 true일 때만 유효한 값을 가집니다."}]

[{"index":"BadgeStatus Status (ReadOnly)","0":"배지의 획득 가능 상태입니다."}]

[{"index":"string ThumbnailRUID (ReadOnly)","0":"배지의 섬네일 이미지의 RUID입니다."}]
SendEventRequestResultCode

룸, 월드 인스턴스 이벤트 관련 요청 처리 결과를 나타내는 코드입니다.

# Members

[{"이름":"OK","값":"0","설명":"요청 처리에 성공했습니다."},{"이름":"Cancelled","값":"1000000","설명":"요청이 취소되었습니다."},{"이름":"InternalError","값":"1000001","설명":"내부 시스템 오류가 발생했습니다."},{"이름":"BadRequest","값":"1000003","설명":"잘못된 요청입니다."},{"이름":"ResourceExhausted","값":"1000005","설명":"요청량이 많아 실패했습니다."},{"이름":"Unknown","값":"2147483647","설명":"알 수 없는 오류가 발생했습니다."}]

# Methods

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

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

머티리얼의 SpriteRUID에 AnimationClip을 사용했을 때 전체 프레임에 적용되는 필터 모드입니다.

# Members

[{"이름":"Point","값":"0","설명":"픽셀 색상을 그대로 사용하여 선명하게 표현합니다. 애니메이션을 확대했을 때 색의 경계가 또렷하게 보입니다."},{"이름":"Bilinear","값":"1","설명":"인접한 픽셀끼리 색을 섞어 부드럽게 표현합니다. 애니메이션을 확대했을 때 본래의 애니메이션보다 색의 경계가 흐릿하게 보일 수 있습니다."}]

# Methods

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

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

LightComponent의 조명 종류입니다.

# Members

[{"이름":"Spot","값":"0","설명":"원형의 조명이며 피자 조각 모양으로도 구성할 수 있습니다. TransformComponent Scale의 영향을 받지 않습니다."},{"이름":"Freeform","값":"1","설명":"사용자 정의된 닫힌 다중 점 모양을 기반으로 하는 조명입니다."},{"이름":"Global","값":"2","설명":"전체 화면에 영향을 미치는 형태 없는 조명입니다. 각각의 SortingLayer는 동시에 여러 개의 Global Light로부터 조명 효과를 받을 수 없습니다."},{"이름":"Sprite","값":"3","설명":"스프라이트를 기반으로 하는 조명입니다."}]

# Methods

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

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

자식 노드의 실행 여부를 결정하거나 결괏값을 변형하는 제어 노드입니다.

# 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":"BehaviourTreeStatus ChildBehave(float deltaTime)","0":"데코레이터의 자식 노드를 실행합니다. deltaTime은 이전 프레임과 현재 프레임 사이에 흐른 시간입니다. 단위는 초입니다."}]

##### inherited from BTNode:

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

충돌 그룹을 나타냅니다.

# Properties

[{"index":"string Id (ReadOnly)","0":"이 충돌 그룹의 식별자입니다."}]

# Methods

[{"index":"table GetCollideGroups()","0":"이 충돌 그룹과 충돌하는 충돌 그룹들을 테이블로 얻어옵니다."}]

# Examples

충돌 그룹을 다루는 예제입니다.
    
    
    @Component
    script CollisionGroupSetter extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            local trigger = self.Entity.TriggerComponent
            local group = trigger.CollisionGroup
            
            log (group)            -- 'collisiongroup/식별자'
            log (group.Id)         -- 식별자
            log (tostring(group))  -- 'collisiongroup/식별자'
            
            -- 충돌 그룹 변경. CollisionGroups를 통해 기본 충돌 그룹 및 크리에이터가 만든 충돌 그룹에 접근할 수 있습니다.
            trigger.CollisionGroup = CollisionGroups.Default
        end
    end
WorldInstanceInfoPages

WorldInstanceService에서 검색한 월드 인스턴스 목록을 페이지 단위로 조회합니다.

# Properties

[{"index":"boolean IsLastPage (ReadOnly)","0":"현재 페이지가 마지막 페이지인지 확인합니다."}]

# Methods

[{"index":"table GetCurrentPageDatas() (ServerOnly)","0":"현재 페이지의 WorldInstanceInfo 목록을 가져옵니다."}]

[{"index":"boolean MoveToNextPageAndWait() (ServerOnly) (Yield)","0":"다음 페이지로 이동하고 성공 여부를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다."}]

# Examples

페이지를 순회하는 예제입니다.
    
    
    @Component
    script PageIterator extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            while true do
            	local datas = pages:GetCurrentPageData()
            	for _, data in pairs(datas) do
            		log(data.Id)
            	end
            
            	if pages.IsLastPage == true then
            		return
            	end
            
            	local result = pages:MoveToNextPageAndWait()
            	if result == false then
            		return
            	end
            end
        end
    end
    

# SeeAlso

  * WorldInstanceService
DamageSkinComponent

대미지를 시각적으로 표현하는 대미지 스킨을 구성합니다. 대미지 스킨의 형식은 공격자 엔티티의 DamageSkinSettingComponent에서 지정합니다.

# Properties

##### 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":"현재 실행 환경이 서버인지 아닌지의 여부를 반환합니다."}]
ScreenshotError

스크린샷 캡처 결과를 나타냅니다.

# Members

[{"이름":"Success","값":"0","설명":"스크린샷 캡처에 성공했습니다."},{"이름":"PlatformNotSupported","값":"1","설명":"해당 기기에서는 스크린샷 캡처를 지원하지 않습니다."},{"이름":"InvalidFileName","값":"2","설명":"사용할 수 없는 파일 이름입니다."},{"이름":"TooFrequentFileWrite","값":"3","설명":"스크린샷 저장 시도가 너무 잦습니다."},{"이름":"InternalError","값":"4","설명":"내부 오류로 캡처에 실패했습니다."},{"이름":"NoPermissionToPhotoLibrary","값":"5","설명":"사진 보관함 저장 권한이 없습니다."}]

# Methods

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

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

더는 사용하지 않는 컴포넌트입니다. StateAnimationComponent를 사용하세요.

# Properties

##### 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":"MonsterActionStateEvent","0":"더는 사용하지 않는 이벤트입니다. StateAnimationComponent를 사용하세요."}]
StateStringToAvatarActionComponent

더는 사용하지 않는 컴포넌트입니다. StateAnimationComponent를 사용하세요.

# Properties

##### 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":"BodyActionStateChangeEvent","0":"BodyAction의 상태가 변경되었을 때 발생하는 이벤트입니다."}]
WorldShopProduct

WorldShopService를 통해 얻은 상품의 정보입니다.

# Properties

[{"index":"string Description","0":"상품의 설명입니다."}]

[{"index":"DateTime EndSalesPeriod","0":"판매 종료 일시입니다. HasSalesPeriod가 true일 때만 유효한 값을 가집니다."}]

[{"index":"boolean HasSalesPeriod","0":"판매 기간이 설정되어 있는지 확인합니다."}]

[{"index":"string Id","0":"상품의 식별자입니다."}]

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

[{"index":"int32 Price","0":"상품의 가격입니다."}]

[{"index":"DateTime StartSalesPeriod","0":"판매 시작 일시입니다. HasSalesPeriod가 true일 때만 유효한 값을 가집니다."}]

[{"index":"WorldShopProductStatus Status","0":"상품의 판매 상태입니다."}]

[{"index":"string ThumbnailRUID","0":"상품의 섬네일 이미지의 RUID입니다."}]

[{"index":"WorldShopProductType Type","0":"상품의 종류입니다."}]
DistanceJoint

두 Entity의 거리가 일정하게 유지되도록 합니다. 마치 두 Entity가 막대기로 연결해둔 것처럼 동작하게 됩니다. DistanceJointComponent의 Joints에 추가해 사용합니다.

# Properties

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

[{"index":"float Length","0":"Joint로 연결된 두 Entity가 유지할 거리를 설정합니다."}]

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

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

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

# Constructors

[{"index":"DistanceJoint()","0":"기본값으로 DistanceJoint를 초기화합니다."}]

[{"index":"DistanceJoint(DistanceJoint joint)","0":"지정한 joint와 동일한 값으로 DistanceJoint를 초기화합니다."}]
Info Level

($API_Metadata_Start)

[{"ID":"<\/a>LIA-1113","이름":"UnresolvedSymbol","설명":"심볼을 찾을 수 없습니다."},{"ID":"<\/a>LIA-1114","이름":"UnresolvedMember","설명":"멤버를 찾을 수 없습니다."},{"ID":"<\/a>LIA-1115","이름":"UnresolvedFunction","설명":"함수를 찾을 수 없습니다."},{"ID":"<\/a>LIA-1116","이름":"DuplicateLocal","설명":"로컬 변수를 중복 선언했습니다."},{"ID":"<\/a>LIA-1119","이름":"DuplicateFunction","설명":"함수를 중복 정의했습니다."},{"ID":"<\/a>LIA-3025","이름":"RequestFinished","설명":"요청이 완료되었습니다."},{"ID":"<\/a>LIA-3045","이름":"InfoMessage","설명":"연결 상태가 변경되었을 때, 노드가 반환되었을 때 발생합니다."},{"ID":"<\/a>LIA-3050","이름":"InvalidEnvironment","설명":"특정 환경에서만 동작하는 함수를 사용했습니다."}]
초보도 가능한 게임 만들기

$$youtube /watch?v=JvYWA0nExdU&list=PLZOm4uzWk9WPDqjGX6yVFBf3vGscTfmOp $$

1-1 메이플스토리 월드 환경 탐구 1-2 코딩 살짝 훑어보기 1-3 다른 게임 이미지 불러오기 1-4 몬스터 날아다니게 하기 2-1 몬스터 소환하기 2-2 텔레포트 구현하기 2-3 힐 기술 구현하기 2-4 맞을 수록 강해지는 몬스터 만들기 3-1 화려한 스킬 구현하기 3-2 몬스터가 나를 추적하게 하기 3-3 NPC를 통해 부활하기 4-1 몬스터가 아이템 떨어뜨리게 하기 4-2 아이템 창에서 아이템 사용하기 4-3 투사체 던져서 몬스터 맞추기
GridLayoutCorner

부모 엔티티의 크기에 따른 자식 UI 엔티티 정렬 시작 위치입니다. ScrollLayoutComponent가 GridType인 경우 설정할 수 있습니다.

# Members

[{"이름":"UpperLeft","값":"0","설명":"자식 UI 엔티티를 왼쪽 상단부터 추가해 정렬합니다."},{"이름":"UpperRight","값":"1","설명":"자식 UI 엔티티를 오른쪽 상단부터 추가해 정렬합니다."},{"이름":"LowerLeft","값":"2","설명":"자식 UI 엔티티를 왼쪽 하단부터 추가해 정렬합니다."},{"이름":"LowerRight","값":"3","설명":"자식 UI 엔티티를 오른쪽 하단부터 추가해 정렬합니다."}]

# Methods

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

[{"index":"GridLayoutCorner CastFrom(string value) (Static)","0":"문자열을 해당 타입으로 변환합니다."}]
ReadOnlyDictionary<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":"지정한 키와 연결된 값을 가져옵니다."}]
UITouchDragEvent

UI Entity를 드래그 중일 때 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * UITouchReceiveComponent (Space;Client)



# Properties

[{"index":"Entity Entity","0":"이벤트가 발생한 엔티티입니다."}]

[{"index":"Vector2 TouchDelta","0":"터치 또는 커서가 이동한 거리입니다."}]

[{"index":"int32 TouchId","0":"입력 값을 나타내는 식별자입니다. 마우스 좌클릭은 -1, 우클릭은 -2, 휠 클릭은 -3입니다. 모바일 기기에서 터치는 1이고 다중 터치 시 입력 개수만큼 증가합니다."}]

[{"index":"Vector2 TouchPoint","0":"이벤트가 발생한 스크린 좌표입니다."}]

# Constructors

[{"index":"UITouchDragEvent(Entity entity = nil, Vector2 touchDelta = Vector2(0, 0), int32 touchId = 0, Vector2 touchPoint = Vector2(0, 0))","0":"지정한 값으로 UITouchDragEvent를 초기화합니다."}]
RectTileLeaveEvent

특정 사각형 타일에서 벗어났을 때 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * KinematicbodyComponent (Space;Server,Client)
  * SideviewbodyComponent (Space;Server,Client)



# Properties

[{"index":"Entity Entity","0":"타일과 충돌한 엔티티입니다."}]

[{"index":"KinematicbodyComponent Kinematicbody (Deprecated)","0":"더는 사용하지 않는 프로퍼티입니다. Entity 프로퍼티를 사용하세요."}]

[{"index":"RectTileInfo TileInfo","0":"타일의 상세 정보입니다."}]

[{"index":"RectTileMapComponent TileMap","0":"이벤트가 발생한 타일을 소유하고 있는 RectTileMapComponent입니다."}]

[{"index":"Vector2Int TilePosition","0":"타일의 위치입니다."}]

# Constructors

[{"index":"RectTileLeaveEvent(KinematicbodyComponent kinematicbody = nil, RectTileMapComponent tileMap = nil, Vector2Int tilePosition = Vector2Int(0, 0), RectTileInfo tileInfo = nil, Entity entity = nil)","0":"지정한 값으로 RectTileLeaveEvent를 초기화합니다."}]
RectTileEnterEvent

특정 사각형 타일에 진입했을 때 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * KinematicbodyComponent (Space;Server,Client)
  * SideviewbodyComponent (Space;Server,Client)



# Properties

[{"index":"Entity Entity","0":"타일과 충돌한 엔티티입니다."}]

[{"index":"KinematicbodyComponent Kinematicbody (Deprecated)","0":"더는 사용하지 않는 프로퍼티입니다. Entity 프로퍼티를 사용하세요."}]

[{"index":"RectTileInfo TileInfo","0":"타일의 상세 정보입니다."}]

[{"index":"RectTileMapComponent TileMap","0":"이벤트가 발생한 타일을 소유하고 있는 RectTileMapComponent입니다."}]

[{"index":"Vector2Int TilePosition","0":"타일의 위치입니다."}]

# Constructors

[{"index":"RectTileEnterEvent(KinematicbodyComponent kinematicbody = nil, RectTileMapComponent tileMap = nil, Vector2Int tilePosition = Vector2Int(0, 0), RectTileInfo tileInfo = nil, Entity entity = nil)","0":"지정한 값으로 RectTileEnterEvent를 초기화합니다."}]
메이플스토리 월드로 게임 만들기

$$youtube /watch?v=R-_oQ_yccQE&list=PL_YzGDiuUdWuPSbbtd94tLreH064P9Z3w $$

  1. 메이플스토리 월드로 게임 만들기
  2. 메인 메뉴 살펴보기
  3. 맵&캐릭터 배치
  4. 몬스터 포탈 생성
  5. 몬스터 생성
  6. 몬스터 피격
  7. 서버/클라이언트
  8. OnUpdate 함수
  9. 몬스터 스폰
  10. 캐릭터 상태
  11. 공격1 - 미사일 생성
  12. 공격2 - 미사일 이동
  13. 공격3 - 미사일 공격
  14. 공격4 - 몬스터 피격
  15. 공격5 - 몬스터 HP
  16. 공격6 - 공격 방향
  17. 수동 공격
  18. HP UI
RectTileCollisionEndEvent

충돌한 타일에서 벗어날 때 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * KinematicbodyComponent (Space;Server,Client)
  * SideviewbodyComponent (Space;Server,Client)



# Properties

[{"index":"Entity Entity","0":"타일과 충돌한 엔티티입니다."}]

[{"index":"Vector2 Normal","0":"충돌한 지점의 법선 벡터입니다."}]

[{"index":"Vector2 Point","0":"충돌한 지점입니다."}]

[{"index":"RectTileInfo TileInfo","0":"타일의 상세 정보입니다."}]

[{"index":"RectTileMapComponent TileMap","0":"타일이 속한 RectTileMapComponent입니다."}]

[{"index":"Vector2Int TilePosition","0":"타일의 위치입니다."}]

# Constructors

[{"index":"RectTileCollisionEndEvent(Entity entity = nil, RectTileMapComponent tileMap = nil, Vector2Int tilePosition = Vector2Int(0, 0), RectTileInfo tileInfo = nil, Vector2 point = Vector2(0, 0), Vector2 normal = Vector2(0, 0))","0":"지정한 값으로 RectTileCollisionEndEvent를 초기화합니다."}]
BadgeStatus

배지의 등록 상태를 나타냅니다.

# Members

[{"이름":"Register","값":"0","설명":"배지를 등록 중입니다. 공식 홈페이지에 '등록진행중'으로 노출됩니다."},{"이름":"Ing","값":"1","설명":"배지를 획득할 수 있습니다. 공식 홈페이지에 '획득가능'으로 노출됩니다."},{"이름":"Waiting","값":"2","설명":"배지를 획득 대기 중입니다. 공식 홈페이지에 '획득대기'로 노출됩니다."},{"이름":"End","값":"3","설명":"배지를 획득할 수 없습니다. 공식 홈페이지에 '획득불가'로 노출됩니다."},{"이름":"Deleted","값":"4","설명":"삭제된 배지입니다."}]

# Methods

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

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

모든 서비스의 부모 서비스입니다. 서비스의 기본 기능들을 제공합니다.

# 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":"void SendEvent(EventType sendEvent)","0":"이벤트를 발생시킵니다."}]
RectTileCollisionBeginEvent

충돌 가능한 타일과 접촉했을 때 발생하는 이벤트입니다.  
  
이 Event는 아래 API에 의해 발생합니다.

  * KinematicbodyComponent (Space;Server,Client)
  * SideviewbodyComponent (Space;Server,Client)



# Properties

[{"index":"Entity Entity","0":"타일과 충돌한 엔티티입니다."}]

[{"index":"Vector2 Normal","0":"충돌한 지점의 법선 벡터입니다."}]

[{"index":"Vector2 Point","0":"충돌한 지점입니다."}]

[{"index":"RectTileInfo TileInfo","0":"타일의 상세 정보입니다."}]

[{"index":"RectTileMapComponent TileMap","0":"타일이 속한 RectTileMapComponent입니다."}]

[{"index":"Vector2Int TilePosition","0":"타일의 위치입니다."}]

# Constructors

[{"index":"RectTileCollisionBeginEvent(Entity entity = nil, RectTileMapComponent tileMap = nil, Vector2Int tilePosition = Vector2Int(0, 0), RectTileInfo tileInfo = nil, Vector2 point = Vector2(0, 0), Vector2 normal = Vector2(0, 0))","0":"지정한 값으로 RectTileCollisionBeginEvent를 초기화합니다."}]
BodyActionTypeChangeEvent

BodyAction의 이름을 통해 ActionState를 변경할 때 사용하는 이벤트입니다.

# Properties

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

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

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

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

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

# Constructors

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

더는 사용하지 않는 타입입니다. 용도에 맞게 DataStorageService의 GetGlobalDataStorage(string), GetUserDataStorage(string), GetCreatorDataStorage(), GetSortableDataStorage(string)를 사용하세요.

# Methods

[{"index":"string GetAndWait(string key) (Deprecated) (ServerOnly) (Yield)","0":"더는 사용하지 않는 함수입니다. 용도에 맞게 GlobalDataStorage, UserDataStorage, CreatorDataStorage, SortableDataStorage의 GetAndWait() 함수를 사용하세요."}]

[{"index":"void GetAsync(string key, func callbackFunction) (Deprecated) (ServerOnly)","0":"더는 사용하지 않는 함수입니다. 용도에 맞게 GlobalDataStorage, UserDataStorage, CreatorDataStorage, SortableDataStorage의 GetAsync() 함수를 사용하세요."}]

[{"index":"boolean SetAndWait(string key, string value) (Deprecated) (ServerOnly) (Yield)","0":"더는 사용하지 않는 함수입니다. 용도에 맞게 GlobalDataStorage, UserDataStorage, CreatorDataStorage, SortableDataStorage의 SetAndWait() 함수를 사용하세요."}]

[{"index":"void SetAsync(string key, string value, func callbackFunction) (Deprecated) (ServerOnly)","0":"더는 사용하지 않는 함수입니다. 용도에 맞게 GlobalDataStorage, UserDataStorage, CreatorDataStorage, SortableDataStorage의 SetAsync() 함수를 사용하세요."}]
DamageSkinTweenType

대미지 스킨의 움직임을 나타냅니다.

# Members

[{"이름":"Default","값":"0","설명":"기본값입니다. 기본 효과를 나타냅니다."},{"이름":"Volcano","값":"1","설명":"화산 효과입니다. 대미지 스킨이 부채꼴 모양으로 퍼지며 나타납니다."},{"이름":"Blade","값":"2","설명":"칼날 효과입니다. 대미지 스킨이 동일한 위치에 나타납니다."},{"이름":"DefaultMini","값":"3","설명":"75% 축소된 기본 효과가 나타납니다."},{"이름":"VolcanoMini","값":"4","설명":"75% 축소된 화산 효과입니다."},{"이름":"BladeMini","값":"5","설명":"75% 축소된 칼날 효과입니다."}]

# Methods

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

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