Заголовок окна Unity и текст элементов не отображаются (KSP) - PullRequest
0 голосов
/ 19 апреля 2020

Я новичок ie в создании мода KSP, пытаюсь сделать GUI для моего мода. Я обнаружил проблему с отображением текста на элементах GUI. Например, я создал окно с кнопкой, и у окна не было заголовка, на кнопке не было текста. Кнопка работает, и я вижу отладочное сообщение после нажатия.

Я пытался использовать GUI вместо GUILayout, но у меня возникла та же проблема. Я попытался использовать HighLogic.Skin.window для окна в GUILayout.Window(0, this.windowRect, this.DrawWindow, "Title", HighLogic.Skin.window), и я увидел заголовок окна, но если я использую HighLogic.Skin.button в GUILayout.Button("Press me", HighLogic.Skin.button), у меня снова возникает эта проблема. Итак, я не знаю, как это исправить.

Код:

using UnityEngine;

namespace KCSS
{
    [KSPAddon(KSPAddon.Startup.MainMenu, false)]
    public class KCSS : MonoBehaviour
    {
        private Rect windowRect;

        private void DrawWindow(int id)
        {
            if(GUILayout.Button("Press me"))
            {
                Debug.Log("[KCSS mod] <color=#f1a12e>Action:</color> Button pressed");
            }

            GUI.DragWindow();
        }

        public void Awake()
        {
            Debug.Log("[KCSS mod] <color=#66cccc>Load:</color> KCSS main class");

            this.windowRect = new Rect(50, 50, 150, 100);
        }

        public void OnGUI()
        {
            this.windowRect = GUILayout.Window(0, this.windowRect, this.DrawWindow, "Title");
        }
    }
}

Снимок экрана: Нет текста заголовка и кнопки

Снимок экрана, если я использую HighLogic.Skin: Только текст кнопки

1 Ответ

0 голосов
/ 19 апреля 2020

Я исправил это, установив ttf-ms-fonts. Если вы используете Linux, вы должны сделать это, если делаете моды для KSP.

...