Я новичок 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
: Только текст кнопки