Version: 2022.3
언어: 한국어
바인딩 가능한 데이터 타입 및 필드
바인딩 예제

바인딩 시스템 구현 세부 정보

다음은 구현 수준에서 UI 툴킷 바인딩 시스템이 작동하는 방식에 대한 설명입니다.

바인딩 생성

Bind() 메서드를 호출하면 첫 번째 값을 비동기적으로 추적 및 동기화합니다.즉, 필드의 ‘value’ 프로퍼티는 즉시 업데이트할 수 없습니다.이를 통해 아직 UI에 추가되지 않은 계층 구조에 대한 바인딩을 설정할 수 있습니다.

감지 변경

바인딩 시스템은 Unity 오브젝트의 직렬화된 데이터에 의존하여 변경 감지를 구현합니다.

SerializedObject와 하나 이상의 요소 사이에 바인딩을 생성하면 시스템은 매 프레임이 아닌 일정한 간격으로 다음 두 단계에 걸쳐 이 오브젝트의 변경 사항을 폴링합니다.

  1. 시스템은 네이티브 코드에서 SerializedObject를 직렬화하고 폴링하여 직렬화된 바이트의 변경 사항을 감지합니다.변경 사항이 없으면 중단됩니다.
  2. 변경 사항이 있는 경우 시스템은 바인딩된 요소에 표시된 값과 프로퍼티를 비교합니다.필요한 경우 시스템은 표시된 값을 업데이트합니다.주어진 오브젝트에 대한 각 특정 프로퍼티-요소 바인딩에 대해 이 작업을 수행합니다.

작업 스로틀링

일부 바인딩 작업은 단일 프레임에서 처리하기에는 너무 길 수 있습니다.바인딩 작업이 단일 프레임에서 처리되면 UI가 응답하지 않을 수 있습니다.이를 방지하기 위해 이러한 바인딩 작업은 여러 프레임에 걸쳐 발생할 수 있습니다.예를 들어 폴링하는 오브젝트의 수에 따라 변경 사항을 감지하는 데 여러 번의 업데이트가 필요할 수 있습니다.

추가 리소스

바인딩 가능한 데이터 타입 및 필드
바인딩 예제