Version: 2022.3
언어: 한국어
바인드 가능 요소 레퍼런스
바인딩 시스템 구현 세부 정보

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

다음은 ’PropertyField’에서 지원하는 데이터 타입 전환 및 필드에 대해 설명합니다.

데이터 타입 전환

UI 툴킷에 내장된 대부분의 컨트롤은 특정 데이터 타입에 대해 INotifyValueChanged 인터페이스를 구현합니다.예를 들어, DoubleFieldINotifyValueChanged<Double>을 구현하므로 DoubleField 컨트롤을 double 타입의 프로퍼티에 바인딩할 수 있습니다.바인딩 시스템으로 더 많은 데이터 타입을 바인딩할 수 있습니다.예를 들어 int 타입의 프로퍼티를 DoubleField에 바인딩할 수 있습니다.

다음 표에는 바인딩할 수 있는 소스 및 타겟 데이터 타입이 나열되어 있습니다.

소스 데이터 타입 INotifyValueChanged의 타겟 데이터 타입
long
  • long
  • int
  • string
  • float
int
  • int
  • string
  • float
double
  • double
  • float
float
  • float
  • double
char
  • char
  • string

참고:데이터 손실을 방지하려면 PropertyField를 사용하거나 아래의 PropertyField 표에서 지원하는 필드에 표시된 대로 적절한 데이터 타입을 사용하십시오.

PropertyField에서 지원하는 필드

인스펙터 창이 채워질 때 특정 타입에 대한 커스텀 에디터가 존재하지 않으면 바인딩 시스템은 InspectorElement.FillDefaultInspector()를 호출합니다.그러면 SerializedObject의 각 SerializedProperty](../ScriptReference/SerializedProperty.html)에 대해 PropertyField가 생성됩니다.

PropertyField에는 그 아래에 int를 나타내는 IntegerField 또는 bool을 나타내는 Toggle과 같은 매칭되는 컨트롤이 있습니다.프로퍼티에 하위 프로퍼티가 있는 경우, PropertyField에는 Foldout 컨트롤이 있습니다.해당 Foldout에는 각 하위 프로퍼티에 대해 적절한 기본 컨트롤이 있습니다.프로퍼티에 대한 커스텀 ’PropertyDrawer’를 생성한 경우, ’PropertyDrawer’의 ’CreatePropertyGUI()` 메서드에서 반환된 시각적 트리가 대신 사용됩니다.

참고:커스텀 UI를 만들 때 특정 컨트롤을 찾을 수 없는 경우가 아니라면 PropertyField를 사용하지 마십시오.예를 들어 시각적 트리에서 컨트롤을 만들고 Color에 바인딩하려면 PropertyField가 아닌 ColorField를 사용하십시오.이렇게 하면 시각적 트리가 더 가벼워지고 작업 속도가 빨라집니다.

다음 표에는 PropertyField에서 지원하는 필드와 해당 데이터 타입이 나열되어 있습니다.

필드 데이터 타입
BoundsField Bounds
BoundsIntField BoundsInt
ColorField 색상
CurveField AnimationCurve
FloatField float
GradientField 그레디언트
Hash128Field Hash128
IntegerField int
IntegerField int, for the ArraySize
LayerMaskField unit
LongField long
ObjectField UnityEngine.Object
PopupField<string> 열거형
RectField Rect
RectIntField RectInt
TextField 문자열
TextField, with a maxLength=1 char
Toggle bool
Vector2Field Vector2
Vector2IntField Vector2Int
Vector3Field Vector3
Vector3IntField Vector3Int
Vector4Field Vector4

추가 리소스

바인드 가능 요소 레퍼런스
바인딩 시스템 구현 세부 정보