// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using System; using UnityEngine; using UnityEditor; namespace Microsoft.MixedReality.WebRTC.Unity.Editor { /// /// Property drawer for , to display servers on a single line /// with the kind first (fixed width) and the server address next (stretching). /// [CustomPropertyDrawer(typeof(ConfigurableIceServer))] public class ConfigurableIceServerDrawer : PropertyDrawer { const float kTypeWidth = 60f; public override void OnGUI(Rect rect, SerializedProperty property, GUIContent label) { var type = property.FindPropertyRelative("Type"); EditorGUI.PropertyField(new Rect(rect.x, rect.y, kTypeWidth, rect.height), type, GUIContent.none); rect.x += kTypeWidth - 10f; rect.width -= kTypeWidth - 10f; var uri = property.FindPropertyRelative("Uri"); EditorGUI.PropertyField(rect, uri, GUIContent.none); } public override float GetPropertyHeight(SerializedProperty property, GUIContent label) { return EditorStyles.textField.lineHeight + 3f; } } }