다음은 구현 수준에서 UI 툴킷 바인딩 시스템이 작동하는 방식에 대한 설명입니다.
Bind()
메서드를 호출하면 첫 번째 값을 비동기적으로 추적 및 동기화합니다.즉, 필드의 ‘value’ 프로퍼티는 즉시 업데이트할 수 없습니다.이를 통해 아직 UI에 추가되지 않은 계층 구조에 대한 바인딩을 설정할 수 있습니다.
바인딩 시스템은 Unity 오브젝트의 직렬화된 데이터에 의존하여 변경 감지를 구현합니다.
SerializedObject
와 하나 이상의 요소 사이에 바인딩을 생성하면 시스템은 매 프레임이 아닌 일정한 간격으로 다음 두 단계에 걸쳐 이 오브젝트의 변경 사항을 폴링합니다.
SerializedObject
를 직렬화하고 폴링하여 직렬화된 바이트의 변경 사항을 감지합니다.변경 사항이 없으면 중단됩니다.일부 바인딩 작업은 단일 프레임에서 처리하기에는 너무 길 수 있습니다.바인딩 작업이 단일 프레임에서 처리되면 UI가 응답하지 않을 수 있습니다.이를 방지하기 위해 이러한 바인딩 작업은 여러 프레임에 걸쳐 발생할 수 있습니다.예를 들어 폴링하는 오브젝트의 수에 따라 변경 사항을 감지하는 데 여러 번의 업데이트가 필요할 수 있습니다.