Event Execution Order
디토랜드의 이벤트 호출 순서에 관한 메뉴얼이에요.
기본 이벤트
플레이어의 입장과 퇴장 / 캐릭터의 스폰과 죽음에 관한 이벤트 호출 순서 및 상세설명이에요.
OnTeleportFinishEvent | 플레이어가 해당 랜드로 이동을 완료했을 때 호출되는 이벤트예요. |
OnTeleportFailedEvent | 플레이어가 해당 랜드로 이동을 실패했을 때 호출되는 이벤트예요. |
OnEnterPlayer | 플레이어가 입장할 때 호출되는 이벤트예요. |
OnSpawnCharacter | 캐릭터가 스폰 될 때 호출되는 이벤트예요. |
OnDeathCharacter | 캐릭터가 죽을 때 호출되는 이벤트예요. |
OnLeavePlayer | 플레이어가 랜드에서 나갈 때 호출되는 이벤트예요. |
OnTeleportFinishEvent
: 플레이어가 해당 랜드로 이동을 완료했을 때 호출되는 이벤트예요.
⇒ 🚫 랜드 이동을 하지 않았을 경우, 해당 이벤트는 호출되지 않아요.
OnTeleportFailedEvent
: 플레이어가 해당 랜드로 이동을 실패했을 때 호출되는 이벤트예요.
⇒ 🚫 랜드 이동을 하지 않았을 경우, 해당 이벤트는 호출되지 않아요.
OnEnterPlayer
: 플레이어가 입장할 때 호출되는 이벤트예요.
⇒ 📢 해당 이벤트는 플레이가 입장했을 때 한번만 호출돼요.
⇒ 💡ClientScript에서 해당 이벤트를 호출할 경우, IsMyPlayer 함수를 이용해 입장한 플레이어가 로컬 플레이어인지 확인할 수 있어요.
⇒ 🚫 캐릭터 객체에 대한 접근이 필요한 경우 OnSpawnCharacter에서 접근하는 것을 권장해요.
OnSpawnCharacter
: 캐릭터가 스폰 될 때 호출되는 이벤트예요.
⇒ 📢 해당 이벤트는 캐릭터가 스폰될 때 매번 호출돼요.
⇒ 💡ClientScript에서 해당 이벤트를 호출할 경우, IsMyCharacter 함수를 이용해 스폰한 캐릭터가 로컬 캐릭터인지 확인할 수 있어요.
OnDeathCharacter
: 캐릭터가 죽을 때 호출되는 이벤트예요.
⇒ 📢 해당 이벤트는 캐릭터가 죽을 때 매번 호출돼요.
⇒ 💡ClientScript에서 해당 이벤트를 호출할 경우, IsMyCharacter 함수를 이용해 죽은 캐릭터가 로컬 캐릭터인지 확인할 수 있어요.
OnLeavePlayer
: 플레이어가 랜드에서 나갈 때 호출되는 이벤트예요.
⇒ 📢 해당 이벤트는 플레이가 나갔을 때 한번만 호출돼요.
⇒ 💡ClientScript에서 해당 이벤트를 호출할 경우, IsMyPlayer 함수를 이용해 나간 플레이어가 로컬 플레이어인지 확인할 수 있어요.
⇒ 🚫 ClientScript에서 해당 이벤트를 호출해 캐릭터에 접근할 때는 로컬 캐릭터만 가능해요.
⇒ 🚫 해당 이벤트에 연결된 함수에서 GetAllPlayer / GetPlayerCount 함수를 사용해 남아 있는 플레이어의 값을 가져올 경우, 방금 나간 플레이어의 값을 제외해줘야 해요.
오브젝트 이벤트
오브젝트와 관련된 이벤트의 호출 순서 및 상세설명이에요.
OnUpdateEvent | 오브젝트가 Enable 상태일 때 매프레임 호출되는 이벤트예요. *오브젝트가 Disable 상태일 때는 호출되지 않아요. |
OnEnableEvent | 오브젝트가 Enable 상태로 변경됐을 때 호출되는 이벤트예요. |
OnDisableEvent | 오브젝트가 Disable 상태로 변경됐을 때 호출되는 이벤트예요. |
OnDestroyEvent | 오브젝트가 삭제될 때 호출되는 이벤트예요. |
OnUpdateEvent
: 오브젝트가 Enable 상태일 때 매프레임 호출되는 이벤트예요.
⇒ 🚫 오브젝트가 Disable 상태일 때는 호출되지 않아요. ( 오브젝트.Enable = false )
OnEnableEvent
: 오브젝트가 Enable 상태로 변경됐을 때 호출되는 이벤트예요.
⇒ 📢 오브젝트의 Enable을 변경해 주었을 때 호출돼요. ( 오브젝트.Enable = true )
OnDisableEvent
: 오브젝트가 Disable 상태로 변경됐을 때 호출되는 이벤트예요.
⇒ 📢 오브젝트의 Enable을 변경해 주었을 때 호출돼요. ( 오브젝트.Enable = false )
OnDestroyEvent
: 오브젝트가 삭제될 때 호출되는 이벤트예요.
⇒ 📢 해당 이벤트는 오브젝트가 삭제되었을 때 한번만 호출돼요.
UI ( ScreenUI / SurfaceUI ) 이벤트
UI ( ScreenUI / SurfaceUI ) 와 관련된 이벤트의 호출 순서 및 상세 설명이에요.
OnUpdateEvent | UI의 상태가 Enable일 때, 매 프레임마다 호출되는 이벤트에요. *UI의 상태가 Disable이면 호출되지 않아요. |
OnVisibleEvent | UI가 보여질 때 호출되는 이벤트에요. |
OnInVisibleEvent | UI가 안 보여질 때 호출되는 이벤트에요. |
OnUpdateEvent
: UI ( ScreenUI / SurfaceUI ) 의 상태가 Enable일 때, 매 프레임마다 호출되는 이벤트에요.
⇒ 🚫 UI의 상태가 Disable이면 호출되지 않아요.
OnVisibleEvent
: UI ( ScreenUI / SurfaceUI ) 가 보여질 때 호출되는 이벤트에요.
⇒ 📢 UI를 보이도록 변경해 주었을 때 호출돼요.
( UI.Visible = true / UI.Enable = true )
OnInVisibleEvent
: UI ( ScreenUI / SurfaceUI ) 가 안 보여질 때 호출되는 이벤트에요.
⇒ 📢 UI를 보이지 않도록 변경해 주었을 때 호출돼요.
( UI.Visible = true / UI.Enable = true )
Enable 속성과 이벤트/함수 동작
Enable 속성은 일부 이벤트/함수 동작에 영향을 줘요.
영향을 받는 이벤트/함수는 Enable 상태일 때 동작, Disable 상태일 때는 동작하지 않아요.
🚫 Disable 상태이더라도, Lua 코드는 여전히 동작해요. ( 스크립트 로직, wait, for, while 등 )
Enable 속성에 영향을 받는 이벤트/함수
( Enable 상태 → 동작 / Disable 상태 → 동작 X )
OnUpdateEvent
OnCollisionEvent
OnBeginOverlapEvent
OnEndOverlapEvent
OnOverlapUpdateEvent
Track.PlayTransformTrack
⇒ Track.PlayTransformTrack 함수의 경우, Disable 상태가 되면 월드 내 움직임이 멈추고, Enable 상태가 되면 다시 움직여요.
🚫 Disable 상태이더라도, Track의 재생이 완전히 끝나거나 정지 상태가 아니면 월드 내 움직임은 멈추지만 Track은 여전히 재생 중이에요.
Last updated