Страница 1 из 1

Расчет ширины Label и переход на следующую строку

СообщениеДобавлено: 07 июл 2020, 15:11
1max1
Сразу видосик:



При изменении ширины инспектора лейбла урезается, как рассчитать кол-во пикселей под 1 символ чтобы строку правильно обрезать и перенести на следующую лейблу?

Re: Расчет ширины Label и переход на следующую строку

СообщениеДобавлено: 04 авг 2020, 22:14
misereli
Думаю, самый простой способ переделать EditorGUI.LabelField в GUILayout.Label

Синтаксис:
Используется csharp
        public override void OnInspectorGUI()
        {
                GUI.skin.label.wordWrap = true;
                GUILayout.Label(text);
        }


Изображение

Изображение

Если ради красоты хотите прижать текст к правой части экрана
Синтаксис:
Используется csharp
public override void OnInspectorGUI()
        {
                GUI.skin.label.wordWrap = true;
                GUILayout.BeginHorizontal();
                GUILayout.FlexibleSpace();
                GUILayout.Label(text);
                GUILayout.EndHorizontal();
        }


Изображение

Ну и наконец если надо как в примере, но чтобы работало (на грамотность кода не претендую):
Синтаксис:
Используется csharp
public override void OnInspectorGUI()
        {
                GUI.skin.label.wordWrap = false;
               
                GUILayout.BeginHorizontal();
               
                GUILayout.Label("Description");
               
                GUILayout.BeginVertical();
                GUILayout.Button("hello 1");
                GUILayout.Button("hello 2");
                GUI.skin.label.wordWrap = true;
                GUILayout.Label(text);
                GUILayout.EndVertical();
               
                GUILayout.EndHorizontal();
        }


Изображение

Изображение

Re: Расчет ширины Label и переход на следующую строку

СообщениеДобавлено: 04 авг 2020, 23:12
1max1
Увы, но GUILayout тут не получатся впихнуть, так как редактор для PropertyDrawer, а там только с ректами шаманить)