エディターの指定された要素を見つける方法を指定します
例として Transform で Scale コントロールをスケールするアプローチを複数みていきましょう。
HighlightSearchMode.PrefixLabel モードを使用してラベルのテキストに相当する "Scale" を識別子として指定し、ラベルおよび含まれる 3 つの数字のフィールドの両方を含む Scale コントロール全体をハイライトできます。このモードは Scale コントロールの X コンポーネントのみハイライトしたい場合は使用できません。X コンポーネントのラベルのテキストは単に "X" であるため、試した場合は Position コントロールの X コンポーネントのみが代わりに得られます。HighlightSearchMode.PrefixLabel モードは EditorGUI.PrefixLabel や EditorGUI.HandlePrefixLabel を使用する任意のコントロールで適用できます。
もし HighlightSearchMode.Content モードを使用して "Scale" のテキストを検索すると、そのラベル自身のみがハイライトされます。このモードにより一つの GUIStyle.Draw 呼び出しに相当するものをハイライトするため、コンポジットコントロールをハイライトできません。これはボタンをハイライトするのに役に立ちます。
HighlightSearchMode.Identifier モードは Highlighter.HighlightIdentifier 関数を使用して明示的にハイライト可能とマーキングされた Rect を検索します。これは例えば SerializedProperty を使用するすべてのコントロールで行なわれ、SerializedProperty.propertyPath を識別子として使用します。つまりこのモードを使用して Scale コントロールの X コンポーネントをハイライトするには "m_LocalScale.x" と検索します。
HighlightSearchMode.Auto モードは前述のすべてのモードを使用して検索し、多くの場合で使用できます。このモードを使用して "Scale" を検索することでラベルのみではなく Scale コントロール全体がハイライトされます。理由は PrefixLabel のハンドリングがラベルの GUIStyle.Draw 呼び出しの前にヒットするためです。
See Also: Highlighter.
None | 何もハイライトしません |
Auto | 任意の検索モードで見つかった最初の要素をハイライトします |
Identifier | 指定された識別子のテキストを持つ要素をハイライトします |
PrefixLabel | ラベルのテキストを識別子として Editor コントロール全体をハイライトします |
Content | テキストを識別子にして、そのテキストを含む要素をハイライトします |